<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>LiquidFun: b2ParticleSystem.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">LiquidFun
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_4e1baebecbf169d84bf63cb3cdc6641f.html">Particle</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">b2ParticleSystem.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">* Copyright (c) 2013 Google, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">*</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">* This software is provided &#39;as-is&#39;, without any express or implied</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">* warranty.  In no event will the authors be held liable for any damages</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">* arising from the use of this software.</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">* Permission is granted to anyone to use this software for any purpose,</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">* including commercial applications, and to alter it and redistribute it</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">* freely, subject to the following restrictions:</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">* 1. The origin of this software must not be misrepresented; you must not</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">* claim that you wrote the original software. If you use this software</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">* in a product, an acknowledgment in the product documentation would be</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">* appreciated but is not required.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">* 2. Altered source versions must be plainly marked as such, and must not be</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">* misrepresented as being the original software.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">* 3. This notice may not be removed or altered from any source distribution.</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef B2_PARTICLE_SYSTEM_H</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define B2_PARTICLE_SYSTEM_H</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;Box2D/Common/b2SlabAllocator.h&gt;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;Box2D/Common/b2GrowableBuffer.h&gt;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="b2_particle_8h.html">Box2D/Particle/b2Particle.h</a>&gt;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;Box2D/Dynamics/b2TimeStep.h&gt;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#if LIQUIDFUN_UNIT_TESTS</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;gtest/gtest.h&gt;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#endif // LIQUIDFUN_UNIT_TESTS</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#if LIQUIDFUN_EXTERNAL_LANGUAGE_API</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;cstring&gt;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#endif // LIQUIDFUN_EXTERNAL_LANGUAGE_API</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">class </span><a class="code" href="classb2_world.html">b2World</a>;</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">class </span><a class="code" href="classb2_body.html">b2Body</a>;</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">class </span><a class="code" href="classb2_shape.html">b2Shape</a>;</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">class </span><a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>;</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">class </span><a class="code" href="classb2_block_allocator.html">b2BlockAllocator</a>;</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">class </span><a class="code" href="classb2_stack_allocator.html">b2StackAllocator</a>;</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">class </span><a class="code" href="classb2_query_callback.html">b2QueryCallback</a>;</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">class </span><a class="code" href="classb2_ray_cast_callback.html">b2RayCastCallback</a>;</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">class </span><a class="code" href="classb2_fixture.html">b2Fixture</a>;</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">class </span><a class="code" href="classb2_contact_filter.html">b2ContactFilter</a>;</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">class </span><a class="code" href="classb2_contact_listener.html">b2ContactListener</a>;</div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">class </span>b2ParticlePairSet;</div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">class </span>FixtureParticleSet;</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">struct </span><a class="code" href="structb2_particle_group_def.html">b2ParticleGroupDef</a>;</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">struct </span><a class="code" href="structb2_vec2.html">b2Vec2</a>;</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">struct </span><a class="code" href="structb2_a_a_b_b.html">b2AABB</a>;</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">struct </span><a class="code" href="struct_find_contact_input.html">FindContactInput</a>;</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">struct </span><a class="code" href="struct_find_contact_check.html">FindContactCheck</a>;</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="structb2_particle_contact.html">   53</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structb2_particle_contact.html">b2ParticleContact</a></div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;{</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="comment">// 16-bit particle indices consume less memory and thus improve</span></div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="comment">// performance. We iterate through m_contactBuffer many times during</span></div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="comment">// b2ParticleSystem::Solve, so reducing the amount of data we churn</span></div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="comment">// through speeds things up. Also, FindContactsFromChecks_Simd takes</span></div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="comment">// advantage of the reduced size for specific optimizations.</span></div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">    #ifdef B2_USE_16_BIT_PARTICLE_INDICES</span></div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor"></span>        <span class="keyword">typedef</span> int16 b2ParticleIndex;</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">    #else</span></div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor"></span>        <span class="keyword">typedef</span> int32 b2ParticleIndex;</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">    #endif</span></div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    b2ParticleIndex indexA, indexB;</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    float32 weight;</div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <a class="code" href="structb2_vec2.html">b2Vec2</a> normal;</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    uint32 flags;</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="keywordtype">void</span> SetIndices(int32 a, int32 b);</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keywordtype">void</span> SetWeight(float32 w) { weight = w; }</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keywordtype">void</span> SetNormal(<span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>&amp; n) { normal = n; }</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keywordtype">void</span> SetFlags(uint32 f) { flags = f; }</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    int32 GetIndexA()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> indexA; }</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    int32 GetIndexB()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> indexB; }</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    float32 GetWeight()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> weight; }</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>&amp; GetNormal()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> normal; }</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    uint32 GetFlags()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> flags; }</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> <a class="code" href="structb2_particle_contact.html">b2ParticleContact</a>&amp; rhs) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> <a class="code" href="structb2_particle_contact.html">b2ParticleContact</a>&amp; rhs)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !operator==(rhs); }</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="keywordtype">bool</span> ApproximatelyEqual(<span class="keyword">const</span> <a class="code" href="structb2_particle_contact.html">b2ParticleContact</a>&amp; rhs) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;};</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="structb2_particle_body_contact.html">   99</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structb2_particle_body_contact.html">b2ParticleBodyContact</a></div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;{</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="structb2_particle_body_contact.html#a04b16848f35614198ef64fd965ad661c">  102</a></span>&#160;    int32 <a class="code" href="structb2_particle_body_contact.html#a04b16848f35614198ef64fd965ad661c">index</a>;</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structb2_particle_body_contact.html#a50e13d10f37cfc200015caeabc130e38">  105</a></span>&#160;    <a class="code" href="classb2_body.html">b2Body</a>* <a class="code" href="structb2_particle_body_contact.html#a50e13d10f37cfc200015caeabc130e38">body</a>;</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="structb2_particle_body_contact.html#a3eabb32dc6d641bc0a7987afeb5ef5a7">  108</a></span>&#160;    <a class="code" href="classb2_fixture.html">b2Fixture</a>* <a class="code" href="structb2_particle_body_contact.html#a3eabb32dc6d641bc0a7987afeb5ef5a7">fixture</a>;</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structb2_particle_body_contact.html#ac7610a92a2f9056d2d0a370d8bbb3222">  111</a></span>&#160;    float32 <a class="code" href="structb2_particle_body_contact.html#ac7610a92a2f9056d2d0a370d8bbb3222">weight</a>;</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="structb2_particle_body_contact.html#a2246d4b28a391deedc614eba27adb93a">  114</a></span>&#160;    <a class="code" href="structb2_vec2.html">b2Vec2</a> <a class="code" href="structb2_particle_body_contact.html#a2246d4b28a391deedc614eba27adb93a">normal</a>;</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="structb2_particle_body_contact.html#acb31b9545e0b93686393e2980e9e442e">  117</a></span>&#160;    float32 <a class="code" href="structb2_particle_body_contact.html#acb31b9545e0b93686393e2980e9e442e">mass</a>;</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;};</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="structb2_particle_pair.html">  121</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structb2_particle_pair.html">b2ParticlePair</a></div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;{</div>
<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="structb2_particle_pair.html#afa5a36eb644ea796f5e7d68571e37c6a">  124</a></span>&#160;    int32 <a class="code" href="structb2_particle_pair.html#afa5a36eb644ea796f5e7d68571e37c6a">indexA</a>, indexB;</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="structb2_particle_pair.html#a1db1fb4d3815c7bc0337d2649a21bb0f">  127</a></span>&#160;    uint32 <a class="code" href="structb2_particle_pair.html#a1db1fb4d3815c7bc0337d2649a21bb0f">flags</a>;</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div>
<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="structb2_particle_pair.html#ac192c2a11a0b084ae4065f269ee92719">  130</a></span>&#160;    float32 <a class="code" href="structb2_particle_pair.html#ac192c2a11a0b084ae4065f269ee92719">strength</a>;</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="structb2_particle_pair.html#a3a6433b99b74875e99a75239596dfe10">  133</a></span>&#160;    float32 <a class="code" href="structb2_particle_pair.html#a3a6433b99b74875e99a75239596dfe10">distance</a>;</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;};</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div>
<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="structb2_particle_triad.html">  137</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structb2_particle_triad.html">b2ParticleTriad</a></div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;{</div>
<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="structb2_particle_triad.html#a8ee50fab85d8895df09a51733a49c60a">  140</a></span>&#160;    int32 <a class="code" href="structb2_particle_triad.html#a8ee50fab85d8895df09a51733a49c60a">indexA</a>, indexB, indexC;</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div>
<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="structb2_particle_triad.html#ac0023bb64524104633ddf8ce3e53fe7a">  143</a></span>&#160;    uint32 <a class="code" href="structb2_particle_triad.html#ac0023bb64524104633ddf8ce3e53fe7a">flags</a>;</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="structb2_particle_triad.html#a3923a6548d78c52341b0f5e9555194c1">  146</a></span>&#160;    float32 <a class="code" href="structb2_particle_triad.html#a3923a6548d78c52341b0f5e9555194c1">strength</a>;</div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="structb2_particle_triad.html#ae8fb40da0e3db106d41f9d36fd4019e4">  149</a></span>&#160;    <a class="code" href="structb2_vec2.html">b2Vec2</a> <a class="code" href="structb2_particle_triad.html#ae8fb40da0e3db106d41f9d36fd4019e4">pa</a>, pb, pc;</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    float32 ka, kb, kc, s;</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;};</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div>
<div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html">  153</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structb2_particle_system_def.html">b2ParticleSystemDef</a></div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;{</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <a class="code" href="structb2_particle_system_def.html">b2ParticleSystemDef</a>()</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    {</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        <a class="code" href="structb2_particle_system_def.html#a28132c46831cadcb44eea76dfcf28db8">strictContactCheck</a> = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        <a class="code" href="structb2_particle_system_def.html#a50d219d1518370388d593422de43c83f">density</a> = 1.0f;</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        <a class="code" href="structb2_particle_system_def.html#ae1e7b92c07dd5aae0deefe178679a525">gravityScale</a> = 1.0f;</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        <a class="code" href="structb2_particle_system_def.html#a834765fa939f2bab3d80b62dbe964858">radius</a> = 1.0f;</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        <a class="code" href="structb2_particle_system_def.html#aefe0175108a238c4364526504d6213d2">maxCount</a> = 0;</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        <span class="comment">// Initialize physical coefficients to the maximum values that</span></div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        <span class="comment">// maintain numerical stability.</span></div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        <a class="code" href="structb2_particle_system_def.html#aa781c6422da46547b5194d3f5f710f46">pressureStrength</a> = 0.05f;</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        <a class="code" href="structb2_particle_system_def.html#a1fb1cbdcbc28e68e5b6497f08a671189">dampingStrength</a> = 1.0f;</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        <a class="code" href="structb2_particle_system_def.html#af7e3b59193dc11f202e495ee20ea79a4">elasticStrength</a> = 0.25f;</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        <a class="code" href="structb2_particle_system_def.html#a935a135684efab860b98a9b6a629d6d6">springStrength</a> = 0.25f;</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        <a class="code" href="structb2_particle_system_def.html#a4cef0e4d7844b8739e749672f77ed30d">viscousStrength</a> = 0.25f;</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        <a class="code" href="structb2_particle_system_def.html#a892b1069f95f9cb45b482a223542add5">surfaceTensionPressureStrength</a> = 0.2f;</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        <a class="code" href="structb2_particle_system_def.html#a05d5a189606457a9a6d89dc478a4fb90">surfaceTensionNormalStrength</a> = 0.2f;</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        <a class="code" href="structb2_particle_system_def.html#a72a6a3b7b465d318198ed28bd5fa650e">repulsiveStrength</a> = 1.0f;</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        <a class="code" href="structb2_particle_system_def.html#a86138031bd8bf796250997a4dcff8ff4">powderStrength</a> = 0.5f;</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        <a class="code" href="structb2_particle_system_def.html#af5b833686e2a25848ed04ade040534a5">ejectionStrength</a> = 0.5f;</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        <a class="code" href="structb2_particle_system_def.html#add3df1894038540a311081740dc3e5cb">staticPressureStrength</a> = 0.2f;</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        <a class="code" href="structb2_particle_system_def.html#a497e6bfc2e22867eda10a5c576972184">staticPressureRelaxation</a> = 0.2f;</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        <a class="code" href="structb2_particle_system_def.html#a6246155e61450cfff6aba5182a1bb60c">staticPressureIterations</a> = 8;</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;        <a class="code" href="structb2_particle_system_def.html#a861295bffd9ad85d613545528d95c375">colorMixingStrength</a> = 0.5f;</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        <a class="code" href="structb2_particle_system_def.html#a6b68881976d4aada8146175eae4b45f5">destroyByAge</a> = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        <a class="code" href="structb2_particle_system_def.html#a7464b9934b877bf5876d9ed14c022ac4">lifetimeGranularity</a> = 1.0f / 60.0f;</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    }</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div>
<div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#a28132c46831cadcb44eea76dfcf28db8">  185</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="structb2_particle_system_def.html#a28132c46831cadcb44eea76dfcf28db8">strictContactCheck</a>;</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div>
<div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#a50d219d1518370388d593422de43c83f">  189</a></span>&#160;    float32 <a class="code" href="structb2_particle_system_def.html#a50d219d1518370388d593422de43c83f">density</a>;</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div>
<div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#ae1e7b92c07dd5aae0deefe178679a525">  193</a></span>&#160;    float32 <a class="code" href="structb2_particle_system_def.html#ae1e7b92c07dd5aae0deefe178679a525">gravityScale</a>;</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;</div>
<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#a834765fa939f2bab3d80b62dbe964858">  196</a></span>&#160;    float32 <a class="code" href="structb2_particle_system_def.html#a834765fa939f2bab3d80b62dbe964858">radius</a>;</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div>
<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#aefe0175108a238c4364526504d6213d2">  202</a></span>&#160;    int32 <a class="code" href="structb2_particle_system_def.html#aefe0175108a238c4364526504d6213d2">maxCount</a>;</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div>
<div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#aa781c6422da46547b5194d3f5f710f46">  206</a></span>&#160;    float32 <a class="code" href="structb2_particle_system_def.html#aa781c6422da46547b5194d3f5f710f46">pressureStrength</a>;</div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div>
<div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#a1fb1cbdcbc28e68e5b6497f08a671189">  210</a></span>&#160;    float32 <a class="code" href="structb2_particle_system_def.html#a1fb1cbdcbc28e68e5b6497f08a671189">dampingStrength</a>;</div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div>
<div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#af7e3b59193dc11f202e495ee20ea79a4">  214</a></span>&#160;    float32 <a class="code" href="structb2_particle_system_def.html#af7e3b59193dc11f202e495ee20ea79a4">elasticStrength</a>;</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div>
<div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#a935a135684efab860b98a9b6a629d6d6">  218</a></span>&#160;    float32 <a class="code" href="structb2_particle_system_def.html#a935a135684efab860b98a9b6a629d6d6">springStrength</a>;</div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div>
<div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#a4cef0e4d7844b8739e749672f77ed30d">  222</a></span>&#160;    float32 <a class="code" href="structb2_particle_system_def.html#a4cef0e4d7844b8739e749672f77ed30d">viscousStrength</a>;</div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div>
<div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#a892b1069f95f9cb45b482a223542add5">  226</a></span>&#160;    float32 <a class="code" href="structb2_particle_system_def.html#a892b1069f95f9cb45b482a223542add5">surfaceTensionPressureStrength</a>;</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div>
<div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#a05d5a189606457a9a6d89dc478a4fb90">  231</a></span>&#160;    float32 <a class="code" href="structb2_particle_system_def.html#a05d5a189606457a9a6d89dc478a4fb90">surfaceTensionNormalStrength</a>;</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div>
<div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#a72a6a3b7b465d318198ed28bd5fa650e">  237</a></span>&#160;    float32 <a class="code" href="structb2_particle_system_def.html#a72a6a3b7b465d318198ed28bd5fa650e">repulsiveStrength</a>;</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;</div>
<div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#a86138031bd8bf796250997a4dcff8ff4">  241</a></span>&#160;    float32 <a class="code" href="structb2_particle_system_def.html#a86138031bd8bf796250997a4dcff8ff4">powderStrength</a>;</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div>
<div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#af5b833686e2a25848ed04ade040534a5">  245</a></span>&#160;    float32 <a class="code" href="structb2_particle_system_def.html#af5b833686e2a25848ed04ade040534a5">ejectionStrength</a>;</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div>
<div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#add3df1894038540a311081740dc3e5cb">  251</a></span>&#160;    float32 <a class="code" href="structb2_particle_system_def.html#add3df1894038540a311081740dc3e5cb">staticPressureStrength</a>;</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;</div>
<div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#a497e6bfc2e22867eda10a5c576972184">  255</a></span>&#160;    float32 <a class="code" href="structb2_particle_system_def.html#a497e6bfc2e22867eda10a5c576972184">staticPressureRelaxation</a>;</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;</div>
<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#a6246155e61450cfff6aba5182a1bb60c">  259</a></span>&#160;    int32 <a class="code" href="structb2_particle_system_def.html#a6246155e61450cfff6aba5182a1bb60c">staticPressureIterations</a>;</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div>
<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#a861295bffd9ad85d613545528d95c375">  264</a></span>&#160;    float32 <a class="code" href="structb2_particle_system_def.html#a861295bffd9ad85d613545528d95c375">colorMixingStrength</a>;</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;</div>
<div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#a6b68881976d4aada8146175eae4b45f5">  269</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="structb2_particle_system_def.html#a6b68881976d4aada8146175eae4b45f5">destroyByAge</a>;</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div>
<div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="structb2_particle_system_def.html#a7464b9934b877bf5876d9ed14c022ac4">  277</a></span>&#160;    float32 <a class="code" href="structb2_particle_system_def.html#a7464b9934b877bf5876d9ed14c022ac4">lifetimeGranularity</a>;</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;};</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div>
<div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="classb2_particle_system.html">  281</a></span>&#160;<span class="keyword">class </span><a class="code" href="classb2_particle_system.html">b2ParticleSystem</a></div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;{</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    int32 <a class="code" href="classb2_particle_system.html#a9a52c227fcd0e7bb0346d748f0df0750">CreateParticle</a>(<span class="keyword">const</span> <a class="code" href="structb2_particle_def.html">b2ParticleDef</a>&amp; def);</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;</div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    <span class="keyword">const</span> <a class="code" href="classb2_particle_handle.html">b2ParticleHandle</a>* <a class="code" href="classb2_particle_system.html#aa5a120786c332f35916d8a01620c4967">GetParticleHandleFromIndex</a>(<span class="keyword">const</span> int32 index);</div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div>
<div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a20d1f9ecb7fcbc287de9b4816dae44e1">  300</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a20d1f9ecb7fcbc287de9b4816dae44e1">DestroyParticle</a>(int32 index)</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    {</div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;        <a class="code" href="classb2_particle_system.html#a20d1f9ecb7fcbc287de9b4816dae44e1">DestroyParticle</a>(index, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    }</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a20d1f9ecb7fcbc287de9b4816dae44e1">DestroyParticle</a>(int32 index, <span class="keywordtype">bool</span> callDestructionListener);</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;</div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a783c71ce5a5ee3ef3a726ba2e538117a">DestroyOldestParticle</a>(<span class="keyword">const</span> int32 index,</div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;                               <span class="keyword">const</span> <span class="keywordtype">bool</span> callDestructionListener);</div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;</div>
<div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a36ef6f6f0eef789e1dee767901030631">  331</a></span>&#160;    int32 <a class="code" href="classb2_particle_system.html#a36ef6f6f0eef789e1dee767901030631">DestroyParticlesInShape</a>(<span class="keyword">const</span> <a class="code" href="classb2_shape.html">b2Shape</a>&amp; shape, <span class="keyword">const</span> <a class="code" href="structb2_transform.html">b2Transform</a>&amp; xf)</div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    {</div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classb2_particle_system.html#a36ef6f6f0eef789e1dee767901030631">DestroyParticlesInShape</a>(shape, xf, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    }</div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    int32 <a class="code" href="classb2_particle_system.html#a36ef6f6f0eef789e1dee767901030631">DestroyParticlesInShape</a>(<span class="keyword">const</span> <a class="code" href="classb2_shape.html">b2Shape</a>&amp; shape, <span class="keyword">const</span> <a class="code" href="structb2_transform.html">b2Transform</a>&amp; xf,</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;                                  <span class="keywordtype">bool</span> callDestructionListener);</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;</div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;    <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* <a class="code" href="classb2_particle_system.html#ae479a020886c1ed270ad17a4ffa2eff5">CreateParticleGroup</a>(<span class="keyword">const</span> <a class="code" href="structb2_particle_group_def.html">b2ParticleGroupDef</a>&amp; def);</div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#ab769e15337167412903ad0f45db480e5">JoinParticleGroups</a>(<a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* groupA, <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* groupB);</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;</div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a5ad89863a13e4735cc7201a7d6c2ca5b">SplitParticleGroup</a>(<a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* group);</div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;</div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* <a class="code" href="classb2_particle_system.html#a3841229174ab3bd3a38cf08a7878231a">GetParticleGroupList</a>();</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    <span class="keyword">const</span> <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* <a class="code" href="classb2_particle_system.html#a3841229174ab3bd3a38cf08a7878231a">GetParticleGroupList</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    int32 <a class="code" href="classb2_particle_system.html#a2781f3c5e57afb0ece5497329c9fbbb8">GetParticleGroupCount</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;</div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    int32 <a class="code" href="classb2_particle_system.html#ae44c656c8b56377e11f511d3b080004d">GetParticleCount</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;</div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    int32 <a class="code" href="classb2_particle_system.html#a50edb8ad685977747d19e0dfb0bdff6c">GetMaxParticleCount</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;</div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a711c962a7a2258127a6126eb69a78321">SetMaxParticleCount</a>(int32 count);</div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;</div>
<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    uint32 <a class="code" href="classb2_particle_system.html#a2a6a2c2aafcf820e9a769433c8bf9d5e">GetAllParticleFlags</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;    uint32 <a class="code" href="classb2_particle_system.html#ab37efd90cf92915b3d072ba4f1496a57">GetAllGroupFlags</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;</div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#aba25d65675a3dd022498eb2358ee3504">SetPaused</a>(<span class="keywordtype">bool</span> paused);</div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;</div>
<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classb2_particle_system.html#ab16f4e9f7a1c122327de1f06c03d36ce">GetPaused</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;</div>
<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a5bc512885130a8da6f3afb07187f4039">SetDensity</a>(float32 density);</div>
<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;</div>
<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    float32 <a class="code" href="classb2_particle_system.html#a018c783fdb7d666824d9a7f7a4c1e92c">GetDensity</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;</div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a6727500d6d140da6f372c18a482a25e9">SetGravityScale</a>(float32 gravityScale);</div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;</div>
<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;    float32 <a class="code" href="classb2_particle_system.html#a700dca2105c24c9eafcb334b1843d9c9">GetGravityScale</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#af6b8d78e5fe2ee1d26d8ec715647a71c">SetDamping</a>(float32 damping);</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;</div>
<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;    float32 <a class="code" href="classb2_particle_system.html#a0470d83e3e3c32cdd8f9126261871f3a">GetDamping</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;</div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#aa7a7789b70bff96d98a53c10e47d3d98">SetStaticPressureIterations</a>(int32 iterations);</div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    int32 <a class="code" href="classb2_particle_system.html#abc997fd34ca5a9b24d04d9d06b292d12">GetStaticPressureIterations</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;</div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a1a454fc53ce4a63a0cb45b6c7c810d2f">SetRadius</a>(float32 radius);</div>
<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;</div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;    float32 <a class="code" href="classb2_particle_system.html#abb661439988e856ba806a12fd31ec354">GetRadius</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;</div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;    <a class="code" href="structb2_vec2.html">b2Vec2</a>* <a class="code" href="classb2_particle_system.html#a62a222d2e2d55b00fbba7b31d1a70cee">GetPositionBuffer</a>();</div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>* <a class="code" href="classb2_particle_system.html#a62a222d2e2d55b00fbba7b31d1a70cee">GetPositionBuffer</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;</div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    <a class="code" href="structb2_vec2.html">b2Vec2</a>* <a class="code" href="classb2_particle_system.html#ae3ebd9626709c0bcdee9c3b82fde7da5">GetVelocityBuffer</a>();</div>
<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>* <a class="code" href="classb2_particle_system.html#ae3ebd9626709c0bcdee9c3b82fde7da5">GetVelocityBuffer</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;</div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <a class="code" href="classb2_particle_color.html">b2ParticleColor</a>* <a class="code" href="classb2_particle_system.html#a108234477f7a4b1e42c43dc001c34b0f">GetColorBuffer</a>();</div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    <span class="keyword">const</span> <a class="code" href="classb2_particle_color.html">b2ParticleColor</a>* <a class="code" href="classb2_particle_system.html#a108234477f7a4b1e42c43dc001c34b0f">GetColorBuffer</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;</div>
<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;    <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* <span class="keyword">const</span>* <a class="code" href="classb2_particle_system.html#a2e72c4fdc0c3572f036650af7e003175">GetGroupBuffer</a>();</div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    <span class="keyword">const</span> <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* <span class="keyword">const</span>* <a class="code" href="classb2_particle_system.html#a2e72c4fdc0c3572f036650af7e003175">GetGroupBuffer</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;</div>
<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;    float32* <a class="code" href="classb2_particle_system.html#a76d0884b93886fcbb79a2af6f6188b1f">GetWeightBuffer</a>();</div>
<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;    <span class="keyword">const</span> float32* <a class="code" href="classb2_particle_system.html#a76d0884b93886fcbb79a2af6f6188b1f">GetWeightBuffer</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;</div>
<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;    <span class="keywordtype">void</span>** <a class="code" href="classb2_particle_system.html#af03d38254a2cfd6de142c61bb3ec754b">GetUserDataBuffer</a>();</div>
<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    <span class="keywordtype">void</span>* <span class="keyword">const</span>* <a class="code" href="classb2_particle_system.html#af03d38254a2cfd6de142c61bb3ec754b">GetUserDataBuffer</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;</div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;    <span class="keyword">const</span> uint32* <a class="code" href="classb2_particle_system.html#a3120a5e10bef3dd694f20d0a08c931a8">GetFlagsBuffer</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;</div>
<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a0b061d6ac27a1984200868116172cba9">SetParticleFlags</a>(int32 index, uint32 flags);</div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;    uint32 <a class="code" href="classb2_particle_system.html#a47a5996f79a3bdda076255eab4befe90">GetParticleFlags</a>(<span class="keyword">const</span> int32 index);</div>
<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;</div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a40cb56e0a7aba2ffca3d0ed83aea6e5b">SetFlagsBuffer</a>(uint32* buffer, int32 capacity);</div>
<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;    <span class="keywordtype">void</span> SetPositionBuffer(<a class="code" href="structb2_vec2.html">b2Vec2</a>* buffer, int32 capacity);</div>
<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    <span class="keywordtype">void</span> SetVelocityBuffer(<a class="code" href="structb2_vec2.html">b2Vec2</a>* buffer, int32 capacity);</div>
<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;    <span class="keywordtype">void</span> SetColorBuffer(<a class="code" href="classb2_particle_color.html">b2ParticleColor</a>* buffer, int32 capacity);</div>
<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;    <span class="keywordtype">void</span> SetUserDataBuffer(<span class="keywordtype">void</span>** buffer, int32 capacity);</div>
<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;</div>
<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;    <span class="keyword">const</span> <a class="code" href="structb2_particle_contact.html">b2ParticleContact</a>* <a class="code" href="classb2_particle_system.html#ac9adc09838699133eb3c3a9ff29fa133">GetContacts</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;    int32 GetContactCount() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;</div>
<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;    <span class="keyword">const</span> <a class="code" href="structb2_particle_body_contact.html">b2ParticleBodyContact</a>* <a class="code" href="classb2_particle_system.html#a4cf2f65d6df63a29a9cdf6f4078202b5">GetBodyContacts</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;    int32 GetBodyContactCount() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;</div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;    <span class="keyword">const</span> <a class="code" href="structb2_particle_pair.html">b2ParticlePair</a>* <a class="code" href="classb2_particle_system.html#abc1154cdf13d7fc82289e23b44c66041">GetPairs</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;    int32 GetPairCount() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;</div>
<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;    <span class="keyword">const</span> <a class="code" href="structb2_particle_triad.html">b2ParticleTriad</a>* <a class="code" href="classb2_particle_system.html#afbba5223e5f1f342d976c217983b42ec">GetTriads</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;    int32 GetTriadCount() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;</div>
<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a459db1f697d93724b0a065c029184c9b">SetStuckThreshold</a>(int32 iterations);</div>
<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;</div>
<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;    <span class="keyword">const</span> int32* <a class="code" href="classb2_particle_system.html#a2ba19aadac45d5ede0f4f88438cf7bba">GetStuckCandidates</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;</div>
<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;    int32 <a class="code" href="classb2_particle_system.html#a245e2af2d0f91affbdbb354edd2ec85b">GetStuckCandidateCount</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;</div>
<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;    float32 <a class="code" href="classb2_particle_system.html#a2f38bf8ff57de2a29d2eb7a7df9c9a4e">ComputeCollisionEnergy</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;</div>
<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#aa1e295b8e9f96f1b91e362d114d4e7f3">SetStrictContactCheck</a>(<span class="keywordtype">bool</span> enabled);</div>
<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classb2_particle_system.html#ad15615bf6b4391974fb37316d7b78759">GetStrictContactCheck</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;</div>
<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a2d7537d7ddfa1d275dce8ffec23b0a77">SetParticleLifetime</a>(<span class="keyword">const</span> int32 index, <span class="keyword">const</span> float32 lifetime);</div>
<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;    float32 <a class="code" href="classb2_particle_system.html#a0b3cd8c88d366608b30bc8ef3c8961be">GetParticleLifetime</a>(<span class="keyword">const</span> int32 index);</div>
<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;</div>
<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a0400ae753ca56deef6f8b2dfe2ab5fb2">SetDestructionByAge</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> enable);</div>
<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classb2_particle_system.html#a457ad91b208fafc593962dbd25b17e28">GetDestructionByAge</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;</div>
<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;    <span class="keyword">const</span> int32* <a class="code" href="classb2_particle_system.html#a6677c0e2cc545f36325153894063d593">GetExpirationTimeBuffer</a>();</div>
<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;    float32 <a class="code" href="classb2_particle_system.html#a3067ded6d2c927f239ee7a5d572440f6">ExpirationTimeToLifetime</a>(<span class="keyword">const</span> int32 expirationTime) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;    <span class="keyword">const</span> int32* <a class="code" href="classb2_particle_system.html#a868f8baa3a652b0f252f1de4218d75a6">GetIndexByExpirationTimeBuffer</a>();</div>
<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;</div>
<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a77dbe781e66a8e66372c628c209e7735">ParticleApplyLinearImpulse</a>(int32 index, <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>&amp; impulse);</div>
<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;</div>
<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a3d7b55d6ff599bbb1f3f748a4192e85e">ApplyLinearImpulse</a>(int32 firstIndex, int32 lastIndex,</div>
<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;                            <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>&amp; impulse);</div>
<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;</div>
<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#ac12e63ab8d486a9e48ddf9991959f123">ParticleApplyForce</a>(int32 index, <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>&amp; force);</div>
<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;</div>
<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#aea90f19fb0aa9bcbba649529aa6503f0">ApplyForce</a>(int32 firstIndex, int32 lastIndex, <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>&amp; force);</div>
<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;</div>
<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;    <a class="code" href="classb2_particle_system.html">b2ParticleSystem</a>* <a class="code" href="classb2_particle_system.html#a74c0d2611c61375dbcd8cd7b79fb362a">GetNext</a>();</div>
<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;    <span class="keyword">const</span> <a class="code" href="classb2_particle_system.html">b2ParticleSystem</a>* <a class="code" href="classb2_particle_system.html#a74c0d2611c61375dbcd8cd7b79fb362a">GetNext</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;</div>
<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#af31818150a338125c9f84c9ae9003196">QueryAABB</a>(<a class="code" href="classb2_query_callback.html">b2QueryCallback</a>* callback, <span class="keyword">const</span> <a class="code" href="structb2_a_a_b_b.html">b2AABB</a>&amp; aabb) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;</div>
<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a036f009bf8d329675061aa0687b06bb7">QueryShapeAABB</a>(<a class="code" href="classb2_query_callback.html">b2QueryCallback</a>* callback, <span class="keyword">const</span> <a class="code" href="classb2_shape.html">b2Shape</a>&amp; shape,</div>
<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;                        <span class="keyword">const</span> <a class="code" href="structb2_transform.html">b2Transform</a>&amp; xf) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;</div>
<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a4759f4e8f04494e32051385e72ebd332">RayCast</a>(<a class="code" href="classb2_ray_cast_callback.html">b2RayCastCallback</a>* callback, <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>&amp; point1,</div>
<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;                 <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>&amp; point2) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;</div>
<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#af79da05e11294c694c7e1c1a1205f29c">ComputeAABB</a>(<a class="code" href="structb2_a_a_b_b.html">b2AABB</a>* <span class="keyword">const</span> aabb) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;</div>
<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;<span class="preprocessor">#if LIQUIDFUN_EXTERNAL_LANGUAGE_API</span></div>
<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;<span class="preprocessor"></span><span class="keyword">public</span>:</div>
<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;    <span class="keyword">enum</span> b2ExceptionType</div>
<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;    {</div>
<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;        b2_bufferTooSmall,</div>
<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;        b2_particleIndexOutOfBounds,</div>
<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;        b2_numErrors,</div>
<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;        b2_noExceptions,</div>
<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;    };</div>
<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;</div>
<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;    <span class="keywordtype">void</span> SetParticleVelocity(int32 index, float32 vx, float32 vy);</div>
<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;</div>
<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;    <span class="keywordtype">float</span> GetParticlePositionX(int32 index) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;</div>
<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    <span class="keywordtype">float</span> GetParticlePositionY(int32 index) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;</div>
<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;    <span class="keywordtype">int</span> CopyPositionBuffer(<span class="keywordtype">int</span> startIndex, <span class="keywordtype">int</span> numParticles, <span class="keywordtype">void</span>* outBuf,</div>
<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;                           <span class="keywordtype">int</span> size) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;</div>
<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;    <span class="keywordtype">int</span> CopyColorBuffer(<span class="keywordtype">int</span> startIndex, <span class="keywordtype">int</span> numParticles, <span class="keywordtype">void</span>* outBuf,</div>
<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;                        <span class="keywordtype">int</span> size) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;</div>
<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;    <span class="keywordtype">int</span> CopyWeightBuffer(<span class="keywordtype">int</span> startIndex, <span class="keywordtype">int</span> numParticles, <span class="keywordtype">void</span>* outBuf,</div>
<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;                         <span class="keywordtype">int</span> size) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;</div>
<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;    <span class="keywordtype">int</span> CopyBuffer(<span class="keywordtype">int</span> startIndex, <span class="keywordtype">int</span> numParticles, <span class="keywordtype">void</span>* inBufWithOffset,</div>
<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;                   <span class="keywordtype">void</span>* outBuf, <span class="keywordtype">int</span> outBufSize, <span class="keywordtype">int</span> copySize) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;</div>
<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;    b2ExceptionType IsBufCopyValid(<span class="keywordtype">int</span> startIndex, <span class="keywordtype">int</span> numParticles,</div>
<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;                                   <span class="keywordtype">int</span> copySize, <span class="keywordtype">int</span> bufSize) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;<span class="preprocessor">#endif // LIQUIDFUN_EXTERNAL_LANGUAGE_API</span></div>
<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;    <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classb2_world.html">b2World</a>;</div>
<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;    <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>;</div>
<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;    <span class="keyword">friend</span> <span class="keyword">class </span>b2ParticleBodyContactRemovePredicate;</div>
<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;    <span class="keyword">friend</span> <span class="keyword">class </span>b2FixtureParticleQueryCallback;</div>
<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;<span class="preprocessor">#ifdef LIQUIDFUN_UNIT_TESTS</span></div>
<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;<span class="preprocessor"></span>    FRIEND_TEST(FunctionTests, GetParticleMass);</div>
<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;    FRIEND_TEST(FunctionTests, AreProxyBuffersTheSame);</div>
<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;<span class="preprocessor">#endif // LIQUIDFUN_UNIT_TESTS</span></div>
<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;    <span class="keyword">struct </span>UserOverridableBuffer</div>
<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;    {</div>
<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;        UserOverridableBuffer()</div>
<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;        {</div>
<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;            data = NULL;</div>
<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;            userSuppliedCapacity = 0;</div>
<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;        }</div>
<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;        T* data;</div>
<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;        int32 userSuppliedCapacity;</div>
<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;    };</div>
<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;</div>
<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;    <span class="keyword">struct </span>Proxy</div>
<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;    {</div>
<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;        int32 index;</div>
<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;        uint32 tag;</div>
<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;        <span class="keyword">friend</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&lt;(<span class="keyword">const</span> Proxy &amp;a, <span class="keyword">const</span> Proxy &amp;b)</div>
<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;        {</div>
<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;            <span class="keywordflow">return</span> a.tag &lt; b.tag;</div>
<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;        }</div>
<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;        <span class="keyword">friend</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&lt;(uint32 a, <span class="keyword">const</span> Proxy &amp;b)</div>
<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;        {</div>
<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;            <span class="keywordflow">return</span> a &lt; b.tag;</div>
<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;        }</div>
<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;        <span class="keyword">friend</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&lt;(<span class="keyword">const</span> Proxy &amp;a, uint32 b)</div>
<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;        {</div>
<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;            <span class="keywordflow">return</span> a.tag &lt; b;</div>
<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;        }</div>
<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;    };</div>
<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;</div>
<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;    <span class="keyword">class </span>ConnectionFilter</div>
<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;    {</div>
<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;    <span class="keyword">public</span>:</div>
<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;        <span class="keyword">virtual</span> ~ConnectionFilter() {}</div>
<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> IsNecessary(int32 index)<span class="keyword"> const</span></div>
<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;            B2_NOT_USED(index);</div>
<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;        }</div>
<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> ShouldCreatePair(int32 a, int32 b)<span class="keyword"> const</span></div>
<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;            B2_NOT_USED(a);</div>
<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;            B2_NOT_USED(b);</div>
<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;        }</div>
<div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> ShouldCreateTriad(int32 a, int32 b, int32 c)<span class="keyword"> const</span></div>
<div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;            B2_NOT_USED(a);</div>
<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;            B2_NOT_USED(b);</div>
<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;            B2_NOT_USED(c);</div>
<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;        }</div>
<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;    };</div>
<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;</div>
<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;    <span class="keyword">class </span>InsideBoundsEnumerator</div>
<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;    {</div>
<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;    <span class="keyword">public</span>:</div>
<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;        InsideBoundsEnumerator(</div>
<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;            uint32 lower, uint32 upper,</div>
<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;            <span class="keyword">const</span> Proxy* first, <span class="keyword">const</span> Proxy* last);</div>
<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;</div>
<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;        int32 <a class="code" href="classb2_particle_system.html#a74c0d2611c61375dbcd8cd7b79fb362a">GetNext</a>();</div>
<div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;    <span class="keyword">private</span>:</div>
<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;        uint32 m_xLower, m_xUpper;</div>
<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;        uint32 m_yLower, m_yUpper;</div>
<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;        <span class="keyword">const</span> Proxy* m_first;</div>
<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;        <span class="keyword">const</span> Proxy* m_last;</div>
<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;    };</div>
<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;</div>
<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;    <span class="keyword">struct </span>ParticleListNode</div>
<div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;    {</div>
<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;        ParticleListNode* list;</div>
<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;        ParticleListNode* next;</div>
<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;        int32 count;</div>
<div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;        int32 index;</div>
<div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;    };</div>
<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;</div>
<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> int32 k_pairFlags =</div>
<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;        <a class="code" href="b2_particle_8h.html#a73d3b011893cb87452253b1b67a5cf50a5ee88bc4df5166f3d4caac0b7316d2f6">b2_springParticle</a> |</div>
<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;        <a class="code" href="b2_particle_8h.html#a73d3b011893cb87452253b1b67a5cf50a6e0c509b4673cf041ead1cdd90b36ec1">b2_barrierParticle</a>;</div>
<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> int32 k_triadFlags =</div>
<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;        <a class="code" href="b2_particle_8h.html#a73d3b011893cb87452253b1b67a5cf50aa6a321b2081a9f57b14d8e5ca847d1af">b2_elasticParticle</a>;</div>
<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> int32 k_noPressureFlags =</div>
<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;        <a class="code" href="b2_particle_8h.html#a73d3b011893cb87452253b1b67a5cf50a7f141cd8272306e2b55c356cbf7dfdab">b2_powderParticle</a> |</div>
<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;        <a class="code" href="b2_particle_8h.html#a73d3b011893cb87452253b1b67a5cf50a38a4e586f06042db862403df1682e280">b2_tensileParticle</a>;</div>
<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> int32 k_extraDampingFlags =</div>
<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;        <a class="code" href="b2_particle_8h.html#a73d3b011893cb87452253b1b67a5cf50a189a78e47cb348efe3d4f2913841fc5e">b2_staticPressureParticle</a>;</div>
<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;</div>
<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;    <a class="code" href="classb2_particle_system.html">b2ParticleSystem</a>(<span class="keyword">const</span> <a class="code" href="structb2_particle_system_def.html">b2ParticleSystemDef</a>* def, <a class="code" href="classb2_world.html">b2World</a>* world);</div>
<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;    ~<a class="code" href="classb2_particle_system.html">b2ParticleSystem</a>();</div>
<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;</div>
<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">void</span> FreeBuffer(T** b, <span class="keywordtype">int</span> capacity);</div>
<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">void</span> FreeUserOverridableBuffer(</div>
<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;        UserOverridableBuffer&lt;T&gt;* b);</div>
<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T* ReallocateBuffer(T* buffer, int32 oldCapacity,</div>
<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;                                              int32 newCapacity);</div>
<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T* ReallocateBuffer(</div>
<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;        T* buffer, int32 userSuppliedCapacity, int32 oldCapacity,</div>
<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;        int32 newCapacity, <span class="keywordtype">bool</span> deferred);</div>
<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T* ReallocateBuffer(</div>
<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;        UserOverridableBuffer&lt;T&gt;* buffer, int32 oldCapacity, int32 newCapacity,</div>
<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;        <span class="keywordtype">bool</span> deferred);</div>
<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; T* RequestBuffer(T* buffer);</div>
<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;</div>
<div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;    <span class="keywordtype">void</span> ReallocateHandleBuffers(int32 newCapacity);</div>
<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;</div>
<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;    <span class="keywordtype">void</span> ReallocateInternalAllocatedBuffers(int32 capacity);</div>
<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;    int32 CreateParticleForGroup(</div>
<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;        <span class="keyword">const</span> <a class="code" href="structb2_particle_group_def.html">b2ParticleGroupDef</a>&amp; groupDef,</div>
<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;        <span class="keyword">const</span> <a class="code" href="structb2_transform.html">b2Transform</a>&amp; xf, <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>&amp; position);</div>
<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;    <span class="keywordtype">void</span> CreateParticlesStrokeShapeForGroup(</div>
<div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;        <span class="keyword">const</span> <a class="code" href="classb2_shape.html">b2Shape</a>* shape,</div>
<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;        <span class="keyword">const</span> <a class="code" href="structb2_particle_group_def.html">b2ParticleGroupDef</a>&amp; groupDef, <span class="keyword">const</span> <a class="code" href="structb2_transform.html">b2Transform</a>&amp; xf);</div>
<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;    <span class="keywordtype">void</span> CreateParticlesFillShapeForGroup(</div>
<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;        <span class="keyword">const</span> <a class="code" href="classb2_shape.html">b2Shape</a>* shape,</div>
<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;        <span class="keyword">const</span> <a class="code" href="structb2_particle_group_def.html">b2ParticleGroupDef</a>&amp; groupDef, <span class="keyword">const</span> <a class="code" href="structb2_transform.html">b2Transform</a>&amp; xf);</div>
<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;    <span class="keywordtype">void</span> CreateParticlesWithShapeForGroup(</div>
<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;        <span class="keyword">const</span> <a class="code" href="classb2_shape.html">b2Shape</a>* shape,</div>
<div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;        <span class="keyword">const</span> <a class="code" href="structb2_particle_group_def.html">b2ParticleGroupDef</a>&amp; groupDef, <span class="keyword">const</span> <a class="code" href="structb2_transform.html">b2Transform</a>&amp; xf);</div>
<div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;    <span class="keywordtype">void</span> CreateParticlesWithShapesForGroup(</div>
<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;        <span class="keyword">const</span> <a class="code" href="classb2_shape.html">b2Shape</a>* <span class="keyword">const</span>* shapes, int32 shapeCount,</div>
<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;        <span class="keyword">const</span> <a class="code" href="structb2_particle_group_def.html">b2ParticleGroupDef</a>&amp; groupDef, <span class="keyword">const</span> <a class="code" href="structb2_transform.html">b2Transform</a>&amp; xf);</div>
<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;    int32 CloneParticle(int32 index, <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* group);</div>
<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;    <span class="keywordtype">void</span> DestroyParticleGroup(<a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* group);</div>
<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;</div>
<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;    <span class="keywordtype">void</span> UpdatePairsAndTriads(</div>
<div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;        int32 firstIndex, int32 lastIndex, <span class="keyword">const</span> ConnectionFilter&amp; filter);</div>
<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;    <span class="keywordtype">void</span> UpdatePairsAndTriadsWithReactiveParticles();</div>
<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> ComparePairIndices(<span class="keyword">const</span> <a class="code" href="structb2_particle_pair.html">b2ParticlePair</a>&amp; a, <span class="keyword">const</span> <a class="code" href="structb2_particle_pair.html">b2ParticlePair</a>&amp; b);</div>
<div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> MatchPairIndices(<span class="keyword">const</span> <a class="code" href="structb2_particle_pair.html">b2ParticlePair</a>&amp; a, <span class="keyword">const</span> <a class="code" href="structb2_particle_pair.html">b2ParticlePair</a>&amp; b);</div>
<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> CompareTriadIndices(<span class="keyword">const</span> <a class="code" href="structb2_particle_triad.html">b2ParticleTriad</a>&amp; a, <span class="keyword">const</span> <a class="code" href="structb2_particle_triad.html">b2ParticleTriad</a>&amp; b);</div>
<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> MatchTriadIndices(<span class="keyword">const</span> <a class="code" href="structb2_particle_triad.html">b2ParticleTriad</a>&amp; a, <span class="keyword">const</span> <a class="code" href="structb2_particle_triad.html">b2ParticleTriad</a>&amp; b);</div>
<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;</div>
<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> InitializeParticleLists(</div>
<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;        <span class="keyword">const</span> <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* group, ParticleListNode* nodeBuffer);</div>
<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;    <span class="keywordtype">void</span> MergeParticleListsInContact(</div>
<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;        <span class="keyword">const</span> <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* group, ParticleListNode* nodeBuffer) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> MergeParticleLists(</div>
<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;        ParticleListNode* listA, ParticleListNode* listB);</div>
<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;    <span class="keyword">static</span> ParticleListNode* FindLongestParticleList(</div>
<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;        <span class="keyword">const</span> <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* group, ParticleListNode* nodeBuffer);</div>
<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;    <span class="keywordtype">void</span> MergeZombieParticleListNodes(</div>
<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;        <span class="keyword">const</span> <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* group, ParticleListNode* nodeBuffer,</div>
<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;        ParticleListNode* survivingList) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> MergeParticleListAndNode(</div>
<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;        ParticleListNode* list, ParticleListNode* node);</div>
<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;    <span class="keywordtype">void</span> CreateParticleGroupsFromParticleList(</div>
<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;        <span class="keyword">const</span> <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* group, ParticleListNode* nodeBuffer,</div>
<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;        <span class="keyword">const</span> ParticleListNode* survivingList);</div>
<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;    <span class="keywordtype">void</span> UpdatePairsAndTriadsWithParticleList(</div>
<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;        <span class="keyword">const</span> <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* group, <span class="keyword">const</span> ParticleListNode* nodeBuffer);</div>
<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;</div>
<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;    <span class="keywordtype">void</span> ComputeDepth();</div>
<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;</div>
<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;    InsideBoundsEnumerator GetInsideBoundsEnumerator(<span class="keyword">const</span> <a class="code" href="structb2_a_a_b_b.html">b2AABB</a>&amp; aabb) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;</div>
<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;    <span class="keywordtype">void</span> UpdateAllParticleFlags();</div>
<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;    <span class="keywordtype">void</span> UpdateAllGroupFlags();</div>
<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;    <span class="keywordtype">void</span> AddContact(int32 a, int32 b,</div>
<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;        <a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;b2ParticleContact&gt;</a>&amp; contacts) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;    <span class="keywordtype">void</span> FindContacts_Reference(</div>
<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;        <a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;b2ParticleContact&gt;</a>&amp; contacts) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;    <span class="keywordtype">void</span> ReorderForFindContact(<a class="code" href="struct_find_contact_input.html">FindContactInput</a>* reordered,</div>
<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;                               <span class="keywordtype">int</span> alignedCount) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;    <span class="keywordtype">void</span> GatherChecksOneParticle(</div>
<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;        <span class="keyword">const</span> uint32 bound,</div>
<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">int</span> startIndex,</div>
<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">int</span> particleIndex,</div>
<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;        <span class="keywordtype">int</span>* nextUncheckedIndex,</div>
<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;        <a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;FindContactCheck&gt;</a>&amp; checks) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;    <span class="keywordtype">void</span> GatherChecks(<a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;FindContactCheck&gt;</a>&amp; checks) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;    <span class="keywordtype">void</span> FindContacts_Simd(</div>
<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;        <a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;b2ParticleContact&gt;</a>&amp; contacts) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;    <span class="keywordtype">void</span> FindContacts(</div>
<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;        <a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;b2ParticleContact&gt;</a>&amp; contacts) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> UpdateProxyTags(</div>
<div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;        <span class="keyword">const</span> uint32* <span class="keyword">const</span> tags,</div>
<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;        <a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;Proxy&gt;</a>&amp; proxies);</div>
<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> ProxyBufferHasIndex(</div>
<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;        int32 index, <span class="keyword">const</span> Proxy* <span class="keyword">const</span> a, <span class="keywordtype">int</span> count);</div>
<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">int</span> NumProxiesWithSameTag(</div>
<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;        <span class="keyword">const</span> Proxy* <span class="keyword">const</span> a, <span class="keyword">const</span> Proxy* <span class="keyword">const</span> b, <span class="keywordtype">int</span> count);</div>
<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> AreProxyBuffersTheSame(<span class="keyword">const</span> <a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;Proxy&gt;</a>&amp; a,</div>
<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;                                       <span class="keyword">const</span> <a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;Proxy&gt;</a>&amp; b);</div>
<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;    <span class="keywordtype">void</span> UpdateProxies_Reference(<a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;Proxy&gt;</a>&amp; proxies) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;    <span class="keywordtype">void</span> UpdateProxies_Simd(<a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;Proxy&gt;</a>&amp; proxies) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;    <span class="keywordtype">void</span> UpdateProxies(<a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;Proxy&gt;</a>&amp; proxies) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;    <span class="keywordtype">void</span> SortProxies(<a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;Proxy&gt;</a>&amp; proxies) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;    <span class="keywordtype">void</span> FilterContacts(<a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;b2ParticleContact&gt;</a>&amp; contacts);</div>
<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;    <span class="keywordtype">void</span> NotifyContactListenerPreContact(</div>
<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;        b2ParticlePairSet* particlePairs) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;    <span class="keywordtype">void</span> NotifyContactListenerPostContact(b2ParticlePairSet&amp; particlePairs);</div>
<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;    <span class="keywordtype">void</span> UpdateContacts(<span class="keywordtype">bool</span> exceptZombie);</div>
<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;    <span class="keywordtype">void</span> NotifyBodyContactListenerPreContact(</div>
<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;        FixtureParticleSet* fixtureSet) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;    <span class="keywordtype">void</span> NotifyBodyContactListenerPostContact(FixtureParticleSet&amp; fixtureSet);</div>
<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;    <span class="keywordtype">void</span> UpdateBodyContacts();</div>
<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;</div>
<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;    <span class="keywordtype">void</span> Solve(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step);</div>
<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;    <span class="keywordtype">void</span> SolveCollision(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step);</div>
<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;    <span class="keywordtype">void</span> LimitVelocity(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step);</div>
<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;    <span class="keywordtype">void</span> SolveGravity(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step);</div>
<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;    <span class="keywordtype">void</span> SolveBarrier(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step);</div>
<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;    <span class="keywordtype">void</span> SolveStaticPressure(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step);</div>
<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;    <span class="keywordtype">void</span> ComputeWeight();</div>
<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;    <span class="keywordtype">void</span> SolvePressure(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step);</div>
<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;    <span class="keywordtype">void</span> SolveDamping(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step);</div>
<div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;    <span class="keywordtype">void</span> SolveRigidDamping();</div>
<div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;    <span class="keywordtype">void</span> SolveExtraDamping();</div>
<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;    <span class="keywordtype">void</span> SolveWall();</div>
<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;    <span class="keywordtype">void</span> SolveRigid(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step);</div>
<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;    <span class="keywordtype">void</span> SolveElastic(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step);</div>
<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;    <span class="keywordtype">void</span> SolveSpring(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step);</div>
<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;    <span class="keywordtype">void</span> SolveTensile(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step);</div>
<div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;    <span class="keywordtype">void</span> SolveViscous();</div>
<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;    <span class="keywordtype">void</span> SolveRepulsive(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step);</div>
<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;    <span class="keywordtype">void</span> SolvePowder(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step);</div>
<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;    <span class="keywordtype">void</span> SolveSolid(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step);</div>
<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;    <span class="keywordtype">void</span> SolveForce(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step);</div>
<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;    <span class="keywordtype">void</span> SolveColorMixing();</div>
<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;    <span class="keywordtype">void</span> SolveZombie();</div>
<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;    <span class="keywordtype">void</span> SolveLifetimes(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step);</div>
<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;    <span class="keywordtype">void</span> RotateBuffer(int32 start, int32 mid, int32 end);</div>
<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;</div>
<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;    float32 GetCriticalVelocity(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;    float32 GetCriticalVelocitySquared(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;    float32 GetCriticalPressure(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;    float32 GetParticleStride() <span class="keyword">const</span>;</div>
<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;    float32 GetParticleMass() <span class="keyword">const</span>;</div>
<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;    float32 GetParticleInvMass() <span class="keyword">const</span>;</div>
<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;</div>
<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;    <span class="comment">// Get the world&#39;s contact filter if any particles with the</span></div>
<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;    <span class="comment">// b2_contactFilterParticle flag are present in the system.</span></div>
<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;    <a class="code" href="classb2_contact_filter.html">b2ContactFilter</a>* GetFixtureContactFilter() <span class="keyword">const</span>;</div>
<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;</div>
<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;    <span class="comment">// Get the world&#39;s contact filter if any particles with the</span></div>
<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;    <span class="comment">// b2_particleContactFilterParticle flag are present in the system.</span></div>
<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;    <a class="code" href="classb2_contact_filter.html">b2ContactFilter</a>* GetParticleContactFilter() <span class="keyword">const</span>;</div>
<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;</div>
<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;    <span class="comment">// Get the world&#39;s contact listener if any particles with the</span></div>
<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;    <span class="comment">// b2_fixtureContactListenerParticle flag are present in the system.</span></div>
<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;    <a class="code" href="classb2_contact_listener.html">b2ContactListener</a>* GetFixtureContactListener() <span class="keyword">const</span>;</div>
<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;</div>
<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;    <span class="comment">// Get the world&#39;s contact listener if any particles with the</span></div>
<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;    <span class="comment">// b2_particleContactListenerParticle flag are present in the system.</span></div>
<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;    <a class="code" href="classb2_contact_listener.html">b2ContactListener</a>* GetParticleContactListener() <span class="keyword">const</span>;</div>
<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;</div>
<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">void</span> SetUserOverridableBuffer(</div>
<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;        UserOverridableBuffer&lt;T&gt;* buffer, T* newBufferData, int32 newCapacity);</div>
<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;</div>
<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;    <span class="keywordtype">void</span> SetGroupFlags(<a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* group, uint32 flags);</div>
<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;</div>
<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;    <span class="keywordtype">void</span> RemoveSpuriousBodyContacts();</div>
<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> BodyContactCompare(<span class="keyword">const</span> <a class="code" href="structb2_particle_body_contact.html">b2ParticleBodyContact</a>&amp; lhs,</div>
<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;                                   <span class="keyword">const</span> <a class="code" href="structb2_particle_body_contact.html">b2ParticleBodyContact</a>&amp; rhs);</div>
<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;</div>
<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;    <span class="keywordtype">void</span> DetectStuckParticle(int32 particle);</div>
<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;</div>
<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;    <span class="keywordtype">bool</span> ValidateParticleIndex(<span class="keyword">const</span> int32 index) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;</div>
<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;    int32 GetQuantizedTimeElapsed() <span class="keyword">const</span>;</div>
<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;    int64 LifetimeToExpirationTime(<span class="keyword">const</span> float32 lifetime) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;</div>
<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;    <span class="keywordtype">bool</span> ForceCanBeApplied(uint32 flags) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;    <span class="keywordtype">void</span> PrepareForceBuffer();</div>
<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;</div>
<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;    <span class="keywordtype">bool</span> IsRigidGroup(<a class="code" href="classb2_particle_group.html">b2ParticleGroup</a> *group) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;    <a class="code" href="structb2_vec2.html">b2Vec2</a> GetLinearVelocity(</div>
<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;        <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a> *group, int32 particleIndex,</div>
<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;        <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a> &amp;point) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;    <span class="keywordtype">void</span> InitDampingParameter(</div>
<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;        float32* invMass, float32* invInertia, float32* tangentDistance,</div>
<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;        float32 mass, float32 inertia, <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>&amp; center,</div>
<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;        <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>&amp; point, <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>&amp; normal) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;    <span class="keywordtype">void</span> InitDampingParameterWithRigidGroupOrParticle(</div>
<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;        float32* invMass, float32* invInertia, float32* tangentDistance,</div>
<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;        <span class="keywordtype">bool</span> isRigidGroup, <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* group, int32 particleIndex,</div>
<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;        <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>&amp; point, <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>&amp; normal) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;    float32 ComputeDampingImpulse(</div>
<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;        float32 invMassA, float32 invInertiaA, float32 tangentDistanceA,</div>
<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;        float32 invMassB, float32 invInertiaB, float32 tangentDistanceB,</div>
<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;        float32 normalVelocity) <span class="keyword">const</span>;</div>
<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;    <span class="keywordtype">void</span> ApplyDamping(</div>
<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;        float32 invMass, float32 invInertia, float32 tangentDistance,</div>
<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;        <span class="keywordtype">bool</span> isRigidGroup, <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* group, int32 particleIndex,</div>
<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;        float32 impulse, <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>&amp; normal);</div>
<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;</div>
<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;    <span class="keywordtype">bool</span> m_paused;</div>
<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;    int32 m_timestamp;</div>
<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;    int32 m_allParticleFlags;</div>
<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;    <span class="keywordtype">bool</span> m_needsUpdateAllParticleFlags;</div>
<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;    int32 m_allGroupFlags;</div>
<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;    <span class="keywordtype">bool</span> m_needsUpdateAllGroupFlags;</div>
<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;    <span class="keywordtype">bool</span> m_hasForce;</div>
<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;    int32 m_iterationIndex;</div>
<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;    float32 m_inverseDensity;</div>
<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;    float32 m_particleDiameter;</div>
<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;    float32 m_inverseDiameter;</div>
<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;    float32 m_squaredDiameter;</div>
<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;</div>
<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;    int32 m_count;</div>
<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;    int32 m_internalAllocatedCapacity;</div>
<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;    <a class="code" href="classb2_slab_allocator.html">b2SlabAllocator&lt;b2ParticleHandle&gt;</a> m_handleAllocator;</div>
<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;    UserOverridableBuffer&lt;b2ParticleHandle*&gt; m_handleIndexBuffer;</div>
<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;    UserOverridableBuffer&lt;uint32&gt; m_flagsBuffer;</div>
<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;    UserOverridableBuffer&lt;b2Vec2&gt; m_positionBuffer;</div>
<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;    UserOverridableBuffer&lt;b2Vec2&gt; m_velocityBuffer;</div>
<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;    <a class="code" href="structb2_vec2.html">b2Vec2</a>* m_forceBuffer;</div>
<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;    float32* m_weightBuffer;</div>
<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;    float32* m_staticPressureBuffer;</div>
<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;    float32* m_accumulationBuffer;</div>
<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;    <a class="code" href="structb2_vec2.html">b2Vec2</a>* m_accumulation2Buffer;</div>
<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;    float32* m_depthBuffer;</div>
<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;    UserOverridableBuffer&lt;b2ParticleColor&gt; m_colorBuffer;</div>
<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;    <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>** m_groupBuffer;</div>
<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;    UserOverridableBuffer&lt;void*&gt; m_userDataBuffer;</div>
<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;</div>
<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;    int32 m_stuckThreshold;</div>
<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;    UserOverridableBuffer&lt;int32&gt; m_lastBodyContactStepBuffer;</div>
<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;    UserOverridableBuffer&lt;int32&gt; m_bodyContactCountBuffer;</div>
<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;    UserOverridableBuffer&lt;int32&gt; m_consecutiveContactStepsBuffer;</div>
<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;    <a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;int32&gt;</a> m_stuckParticleBuffer;</div>
<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;    <a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;Proxy&gt;</a> m_proxyBuffer;</div>
<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160;    <a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;b2ParticleContact&gt;</a> m_contactBuffer;</div>
<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;    <a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;b2ParticleBodyContact&gt;</a> m_bodyContactBuffer;</div>
<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;    <a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;b2ParticlePair&gt;</a> m_pairBuffer;</div>
<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;    <a class="code" href="classb2_growable_buffer.html">b2GrowableBuffer&lt;b2ParticleTriad&gt;</a> m_triadBuffer;</div>
<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;</div>
<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;    UserOverridableBuffer&lt;int32&gt; m_expirationTimeBuffer;</div>
<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;    UserOverridableBuffer&lt;int32&gt; m_indexByExpirationTimeBuffer;</div>
<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;    int64 m_timeElapsed;</div>
<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;    <span class="keywordtype">bool</span> m_expirationTimeBufferRequiresSorting;</div>
<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;</div>
<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;    int32 m_groupCount;</div>
<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;    <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* m_groupList;</div>
<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;</div>
<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;    <a class="code" href="structb2_particle_system_def.html">b2ParticleSystemDef</a> m_def;</div>
<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;</div>
<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;    <a class="code" href="classb2_world.html">b2World</a>* m_world;</div>
<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;    <a class="code" href="classb2_particle_system.html">b2ParticleSystem</a>* m_prev;</div>
<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;    <a class="code" href="classb2_particle_system.html">b2ParticleSystem</a>* m_next;</div>
<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;};</div>
<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;</div>
<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> b2ParticleContact::SetIndices(int32 a, int32 b)</div>
<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;{</div>
<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;    b2Assert(a &lt;= b2_maxParticleIndex &amp;&amp; b &lt;= b2_maxParticleIndex);</div>
<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;    indexA = (b2ParticleIndex)a;</div>
<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;    indexB = (b2ParticleIndex)b;</div>
<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;}</div>
<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160;</div>
<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160;</div>
<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> b2ParticleContact::operator==(</div>
<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160;    <span class="keyword">const</span> <a class="code" href="structb2_particle_contact.html">b2ParticleContact</a>&amp; rhs)<span class="keyword"> const</span></div>
<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;    <span class="keywordflow">return</span> indexA == rhs.indexA</div>
<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;        &amp;&amp; indexB == rhs.indexB</div>
<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;        &amp;&amp; flags == rhs.flags</div>
<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;        &amp;&amp; weight == rhs.weight</div>
<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;        &amp;&amp; normal == rhs.normal;</div>
<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;}</div>
<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;</div>
<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160;<span class="comment">// The reciprocal sqrt function differs between SIMD and non-SIMD, but they</span></div>
<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;<span class="comment">// should create approximately equal results.</span></div>
<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> b2ParticleContact::ApproximatelyEqual(</div>
<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;    <span class="keyword">const</span> <a class="code" href="structb2_particle_contact.html">b2ParticleContact</a>&amp; rhs)<span class="keyword"> const</span></div>
<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">float</span> MAX_WEIGHT_DIFF = 0.01f; <span class="comment">// Weight 0 ~ 1, so about 1%</span></div>
<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">float</span> MAX_NORMAL_DIFF = 0.01f; <span class="comment">// Normal length = 1, so 1%</span></div>
<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;    <span class="keywordflow">return</span> indexA == rhs.indexA</div>
<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;        &amp;&amp; indexB == rhs.indexB</div>
<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;        &amp;&amp; flags == rhs.flags</div>
<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;        &amp;&amp; b2Abs(weight - rhs.weight) &lt; MAX_WEIGHT_DIFF</div>
<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;        &amp;&amp; (normal - rhs.normal).Length() &lt; MAX_NORMAL_DIFF;</div>
<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;}</div>
<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;</div>
<div class="line"><a name="l01183"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a3841229174ab3bd3a38cf08a7878231a"> 1183</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* <a class="code" href="classb2_particle_system.html#a3841229174ab3bd3a38cf08a7878231a">b2ParticleSystem::GetParticleGroupList</a>()</div>
<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;{</div>
<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160;    <span class="keywordflow">return</span> m_groupList;</div>
<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160;}</div>
<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160;</div>
<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* <a class="code" href="classb2_particle_system.html#a3841229174ab3bd3a38cf08a7878231a">b2ParticleSystem::GetParticleGroupList</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160;    <span class="keywordflow">return</span> m_groupList;</div>
<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160;}</div>
<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;</div>
<div class="line"><a name="l01193"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a2781f3c5e57afb0ece5497329c9fbbb8"> 1193</a></span>&#160;<span class="keyword">inline</span> int32 <a class="code" href="classb2_particle_system.html#a2781f3c5e57afb0ece5497329c9fbbb8">b2ParticleSystem::GetParticleGroupCount</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160;    <span class="keywordflow">return</span> m_groupCount;</div>
<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160;}</div>
<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160;</div>
<div class="line"><a name="l01198"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#ae44c656c8b56377e11f511d3b080004d"> 1198</a></span>&#160;<span class="keyword">inline</span> int32 <a class="code" href="classb2_particle_system.html#ae44c656c8b56377e11f511d3b080004d">b2ParticleSystem::GetParticleCount</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;    <span class="keywordflow">return</span> m_count;</div>
<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;}</div>
<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;</div>
<div class="line"><a name="l01203"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#aba25d65675a3dd022498eb2358ee3504"> 1203</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#aba25d65675a3dd022498eb2358ee3504">b2ParticleSystem::SetPaused</a>(<span class="keywordtype">bool</span> paused)</div>
<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;{</div>
<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;    m_paused = paused;</div>
<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160;}</div>
<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160;</div>
<div class="line"><a name="l01208"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#ab16f4e9f7a1c122327de1f06c03d36ce"> 1208</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classb2_particle_system.html#ab16f4e9f7a1c122327de1f06c03d36ce">b2ParticleSystem::GetPaused</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160;    <span class="keywordflow">return</span> m_paused;</div>
<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160;}</div>
<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160;</div>
<div class="line"><a name="l01213"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#ac9adc09838699133eb3c3a9ff29fa133"> 1213</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="structb2_particle_contact.html">b2ParticleContact</a>* <a class="code" href="classb2_particle_system.html#ac9adc09838699133eb3c3a9ff29fa133">b2ParticleSystem::GetContacts</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;    <span class="keywordflow">return</span> m_contactBuffer.Data();</div>
<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160;}</div>
<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;</div>
<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;<span class="keyword">inline</span> int32 b2ParticleSystem::GetContactCount()<span class="keyword"> const</span></div>
<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;    <span class="keywordflow">return</span> m_contactBuffer.GetCount();</div>
<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;}</div>
<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;</div>
<div class="line"><a name="l01223"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a4cf2f65d6df63a29a9cdf6f4078202b5"> 1223</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="structb2_particle_body_contact.html">b2ParticleBodyContact</a>* <a class="code" href="classb2_particle_system.html#a4cf2f65d6df63a29a9cdf6f4078202b5">b2ParticleSystem::GetBodyContacts</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;    <span class="keywordflow">return</span> m_bodyContactBuffer.Data();</div>
<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;}</div>
<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;</div>
<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;<span class="keyword">inline</span> int32 b2ParticleSystem::GetBodyContactCount()<span class="keyword"> const</span></div>
<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;    <span class="keywordflow">return</span> m_bodyContactBuffer.GetCount();</div>
<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;}</div>
<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;</div>
<div class="line"><a name="l01233"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#abc1154cdf13d7fc82289e23b44c66041"> 1233</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="structb2_particle_pair.html">b2ParticlePair</a>* <a class="code" href="classb2_particle_system.html#abc1154cdf13d7fc82289e23b44c66041">b2ParticleSystem::GetPairs</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;    <span class="keywordflow">return</span> m_pairBuffer.Data();</div>
<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160;}</div>
<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;</div>
<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;<span class="keyword">inline</span> int32 b2ParticleSystem::GetPairCount()<span class="keyword"> const</span></div>
<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160;    <span class="keywordflow">return</span> m_pairBuffer.GetCount();</div>
<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160;}</div>
<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160;</div>
<div class="line"><a name="l01243"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#afbba5223e5f1f342d976c217983b42ec"> 1243</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="structb2_particle_triad.html">b2ParticleTriad</a>* <a class="code" href="classb2_particle_system.html#afbba5223e5f1f342d976c217983b42ec">b2ParticleSystem::GetTriads</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;    <span class="keywordflow">return</span> m_triadBuffer.Data();</div>
<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;}</div>
<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;</div>
<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;<span class="keyword">inline</span> int32 b2ParticleSystem::GetTriadCount()<span class="keyword"> const</span></div>
<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160;    <span class="keywordflow">return</span> m_triadBuffer.GetCount();</div>
<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160;}</div>
<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160;</div>
<div class="line"><a name="l01253"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a74c0d2611c61375dbcd8cd7b79fb362a"> 1253</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classb2_particle_system.html">b2ParticleSystem</a>* <a class="code" href="classb2_particle_system.html#a74c0d2611c61375dbcd8cd7b79fb362a">b2ParticleSystem::GetNext</a>()</div>
<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160;{</div>
<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160;    <span class="keywordflow">return</span> m_next;</div>
<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;}</div>
<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160;</div>
<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classb2_particle_system.html">b2ParticleSystem</a>* <a class="code" href="classb2_particle_system.html#a74c0d2611c61375dbcd8cd7b79fb362a">b2ParticleSystem::GetNext</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;    <span class="keywordflow">return</span> m_next;</div>
<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;}</div>
<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;</div>
<div class="line"><a name="l01263"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a2ba19aadac45d5ede0f4f88438cf7bba"> 1263</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> int32* <a class="code" href="classb2_particle_system.html#a2ba19aadac45d5ede0f4f88438cf7bba">b2ParticleSystem::GetStuckCandidates</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;    <span class="keywordflow">return</span> m_stuckParticleBuffer.Data();</div>
<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;}</div>
<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160;</div>
<div class="line"><a name="l01268"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a245e2af2d0f91affbdbb354edd2ec85b"> 1268</a></span>&#160;<span class="keyword">inline</span> int32 <a class="code" href="classb2_particle_system.html#a245e2af2d0f91affbdbb354edd2ec85b">b2ParticleSystem::GetStuckCandidateCount</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;    <span class="keywordflow">return</span> m_stuckParticleBuffer.GetCount();</div>
<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160;}</div>
<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;</div>
<div class="line"><a name="l01273"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#aa1e295b8e9f96f1b91e362d114d4e7f3"> 1273</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#aa1e295b8e9f96f1b91e362d114d4e7f3">b2ParticleSystem::SetStrictContactCheck</a>(<span class="keywordtype">bool</span> enabled)</div>
<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160;{</div>
<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;    m_def.<a class="code" href="structb2_particle_system_def.html#a28132c46831cadcb44eea76dfcf28db8">strictContactCheck</a> = enabled;</div>
<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;}</div>
<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;</div>
<div class="line"><a name="l01278"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#ad15615bf6b4391974fb37316d7b78759"> 1278</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classb2_particle_system.html#ad15615bf6b4391974fb37316d7b78759">b2ParticleSystem::GetStrictContactCheck</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160;    <span class="keywordflow">return</span> m_def.<a class="code" href="structb2_particle_system_def.html#a28132c46831cadcb44eea76dfcf28db8">strictContactCheck</a>;</div>
<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;}</div>
<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;</div>
<div class="line"><a name="l01283"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a1a454fc53ce4a63a0cb45b6c7c810d2f"> 1283</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a1a454fc53ce4a63a0cb45b6c7c810d2f">b2ParticleSystem::SetRadius</a>(float32 radius)</div>
<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160;{</div>
<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;    m_particleDiameter = 2 * radius;</div>
<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;    m_squaredDiameter = m_particleDiameter * m_particleDiameter;</div>
<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;    m_inverseDiameter = 1 / m_particleDiameter;</div>
<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160;}</div>
<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;</div>
<div class="line"><a name="l01290"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a5bc512885130a8da6f3afb07187f4039"> 1290</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a5bc512885130a8da6f3afb07187f4039">b2ParticleSystem::SetDensity</a>(float32 density)</div>
<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160;{</div>
<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;    m_def.<a class="code" href="structb2_particle_system_def.html#a50d219d1518370388d593422de43c83f">density</a> = density;</div>
<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;    m_inverseDensity =  1 / m_def.<a class="code" href="structb2_particle_system_def.html#a50d219d1518370388d593422de43c83f">density</a>;</div>
<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;}</div>
<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;</div>
<div class="line"><a name="l01296"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a018c783fdb7d666824d9a7f7a4c1e92c"> 1296</a></span>&#160;<span class="keyword">inline</span> float32 <a class="code" href="classb2_particle_system.html#a018c783fdb7d666824d9a7f7a4c1e92c">b2ParticleSystem::GetDensity</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;    <span class="keywordflow">return</span> m_def.<a class="code" href="structb2_particle_system_def.html#a50d219d1518370388d593422de43c83f">density</a>;</div>
<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;}</div>
<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;</div>
<div class="line"><a name="l01301"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a6727500d6d140da6f372c18a482a25e9"> 1301</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a6727500d6d140da6f372c18a482a25e9">b2ParticleSystem::SetGravityScale</a>(float32 gravityScale)</div>
<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;{</div>
<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;    m_def.<a class="code" href="structb2_particle_system_def.html#ae1e7b92c07dd5aae0deefe178679a525">gravityScale</a> = gravityScale;</div>
<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160;}</div>
<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;</div>
<div class="line"><a name="l01306"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a700dca2105c24c9eafcb334b1843d9c9"> 1306</a></span>&#160;<span class="keyword">inline</span> float32 <a class="code" href="classb2_particle_system.html#a700dca2105c24c9eafcb334b1843d9c9">b2ParticleSystem::GetGravityScale</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;    <span class="keywordflow">return</span> m_def.<a class="code" href="structb2_particle_system_def.html#ae1e7b92c07dd5aae0deefe178679a525">gravityScale</a>;</div>
<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;}</div>
<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;</div>
<div class="line"><a name="l01311"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#af6b8d78e5fe2ee1d26d8ec715647a71c"> 1311</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#af6b8d78e5fe2ee1d26d8ec715647a71c">b2ParticleSystem::SetDamping</a>(float32 damping)</div>
<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;{</div>
<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;    m_def.<a class="code" href="structb2_particle_system_def.html#a1fb1cbdcbc28e68e5b6497f08a671189">dampingStrength</a> = damping;</div>
<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160;}</div>
<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160;</div>
<div class="line"><a name="l01316"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a0470d83e3e3c32cdd8f9126261871f3a"> 1316</a></span>&#160;<span class="keyword">inline</span> float32 <a class="code" href="classb2_particle_system.html#a0470d83e3e3c32cdd8f9126261871f3a">b2ParticleSystem::GetDamping</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160;    <span class="keywordflow">return</span> m_def.<a class="code" href="structb2_particle_system_def.html#a1fb1cbdcbc28e68e5b6497f08a671189">dampingStrength</a>;</div>
<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160;}</div>
<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160;</div>
<div class="line"><a name="l01321"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#aa7a7789b70bff96d98a53c10e47d3d98"> 1321</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#aa7a7789b70bff96d98a53c10e47d3d98">b2ParticleSystem::SetStaticPressureIterations</a>(int32 iterations)</div>
<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;{</div>
<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160;    m_def.<a class="code" href="structb2_particle_system_def.html#a6246155e61450cfff6aba5182a1bb60c">staticPressureIterations</a> = iterations;</div>
<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160;}</div>
<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;</div>
<div class="line"><a name="l01326"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#abc997fd34ca5a9b24d04d9d06b292d12"> 1326</a></span>&#160;<span class="keyword">inline</span> int32 <a class="code" href="classb2_particle_system.html#abc997fd34ca5a9b24d04d9d06b292d12">b2ParticleSystem::GetStaticPressureIterations</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;    <span class="keywordflow">return</span> m_def.<a class="code" href="structb2_particle_system_def.html#a6246155e61450cfff6aba5182a1bb60c">staticPressureIterations</a>;</div>
<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160;}</div>
<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;</div>
<div class="line"><a name="l01331"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#abb661439988e856ba806a12fd31ec354"> 1331</a></span>&#160;<span class="keyword">inline</span> float32 <a class="code" href="classb2_particle_system.html#abb661439988e856ba806a12fd31ec354">b2ParticleSystem::GetRadius</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160;    <span class="keywordflow">return</span> m_particleDiameter / 2;</div>
<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;}</div>
<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160;</div>
<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160;<span class="keyword">inline</span> float32 b2ParticleSystem::GetCriticalVelocity(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step)<span class="keyword"> const</span></div>
<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160;    <span class="keywordflow">return</span> m_particleDiameter * step.inv_dt;</div>
<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160;}</div>
<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160;</div>
<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;<span class="keyword">inline</span> float32 b2ParticleSystem::GetCriticalVelocitySquared(</div>
<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160;    <span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step)<span class="keyword"> const</span></div>
<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;    float32 velocity = GetCriticalVelocity(step);</div>
<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160;    <span class="keywordflow">return</span> velocity * velocity;</div>
<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160;}</div>
<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160;</div>
<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160;<span class="keyword">inline</span> float32 b2ParticleSystem::GetCriticalPressure(<span class="keyword">const</span> <a class="code" href="structb2_time_step.html">b2TimeStep</a>&amp; step)<span class="keyword"> const</span></div>
<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160;    <span class="keywordflow">return</span> m_def.<a class="code" href="structb2_particle_system_def.html#a50d219d1518370388d593422de43c83f">density</a> * GetCriticalVelocitySquared(step);</div>
<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160;}</div>
<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160;</div>
<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160;<span class="keyword">inline</span> float32 b2ParticleSystem::GetParticleStride()<span class="keyword"> const</span></div>
<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="b2_settings_8h.html#a67092aba35939215cea0213618591031">b2_particleStride</a> * m_particleDiameter;</div>
<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;}</div>
<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160;</div>
<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160;<span class="keyword">inline</span> float32 b2ParticleSystem::GetParticleMass()<span class="keyword"> const</span></div>
<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160;    float32 stride = GetParticleStride();</div>
<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160;    <span class="keywordflow">return</span> m_def.<a class="code" href="structb2_particle_system_def.html#a50d219d1518370388d593422de43c83f">density</a> * stride * stride;</div>
<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160;}</div>
<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160;</div>
<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160;<span class="keyword">inline</span> float32 b2ParticleSystem::GetParticleInvMass()<span class="keyword"> const</span></div>
<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160;    <span class="comment">// mass = density * stride^2, so we take the inverse of this.</span></div>
<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;    float32 inverseStride = m_inverseDiameter * (1.0f / <a class="code" href="b2_settings_8h.html#a67092aba35939215cea0213618591031">b2_particleStride</a>);</div>
<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160;    <span class="keywordflow">return</span> m_inverseDensity * inverseStride * inverseStride;</div>
<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;}</div>
<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160;</div>
<div class="line"><a name="l01371"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a62a222d2e2d55b00fbba7b31d1a70cee"> 1371</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>* <a class="code" href="classb2_particle_system.html#a62a222d2e2d55b00fbba7b31d1a70cee">b2ParticleSystem::GetPositionBuffer</a>()</div>
<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160;{</div>
<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160;    <span class="keywordflow">return</span> m_positionBuffer.data;</div>
<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160;}</div>
<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160;</div>
<div class="line"><a name="l01376"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#ae3ebd9626709c0bcdee9c3b82fde7da5"> 1376</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>* <a class="code" href="classb2_particle_system.html#ae3ebd9626709c0bcdee9c3b82fde7da5">b2ParticleSystem::GetVelocityBuffer</a>()</div>
<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160;{</div>
<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160;    <span class="keywordflow">return</span> m_velocityBuffer.data;</div>
<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160;}</div>
<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160;</div>
<div class="line"><a name="l01381"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a76d0884b93886fcbb79a2af6f6188b1f"> 1381</a></span>&#160;<span class="keyword">inline</span> float32* <a class="code" href="classb2_particle_system.html#a76d0884b93886fcbb79a2af6f6188b1f">b2ParticleSystem::GetWeightBuffer</a>()</div>
<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;{</div>
<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;    <span class="keywordflow">return</span> m_weightBuffer;</div>
<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160;}</div>
<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;</div>
<div class="line"><a name="l01386"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a50edb8ad685977747d19e0dfb0bdff6c"> 1386</a></span>&#160;<span class="keyword">inline</span> int32 <a class="code" href="classb2_particle_system.html#a50edb8ad685977747d19e0dfb0bdff6c">b2ParticleSystem::GetMaxParticleCount</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160;    <span class="keywordflow">return</span> m_def.<a class="code" href="structb2_particle_system_def.html#aefe0175108a238c4364526504d6213d2">maxCount</a>;</div>
<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;}</div>
<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;</div>
<div class="line"><a name="l01391"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a711c962a7a2258127a6126eb69a78321"> 1391</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a711c962a7a2258127a6126eb69a78321">b2ParticleSystem::SetMaxParticleCount</a>(int32 count)</div>
<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160;{</div>
<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160;    b2Assert(m_count &lt;= count);</div>
<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160;    m_def.<a class="code" href="structb2_particle_system_def.html#aefe0175108a238c4364526504d6213d2">maxCount</a> = count;</div>
<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160;}</div>
<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160;</div>
<div class="line"><a name="l01397"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a2a6a2c2aafcf820e9a769433c8bf9d5e"> 1397</a></span>&#160;<span class="keyword">inline</span> uint32 <a class="code" href="classb2_particle_system.html#a2a6a2c2aafcf820e9a769433c8bf9d5e">b2ParticleSystem::GetAllParticleFlags</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160;    <span class="keywordflow">return</span> m_allParticleFlags;</div>
<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160;}</div>
<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160;</div>
<div class="line"><a name="l01402"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#ab37efd90cf92915b3d072ba4f1496a57"> 1402</a></span>&#160;<span class="keyword">inline</span> uint32 <a class="code" href="classb2_particle_system.html#ab37efd90cf92915b3d072ba4f1496a57">b2ParticleSystem::GetAllGroupFlags</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160;    <span class="keywordflow">return</span> m_allGroupFlags;</div>
<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160;}</div>
<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160;</div>
<div class="line"><a name="l01407"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a3120a5e10bef3dd694f20d0a08c931a8"> 1407</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> uint32* <a class="code" href="classb2_particle_system.html#a3120a5e10bef3dd694f20d0a08c931a8">b2ParticleSystem::GetFlagsBuffer</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160;    <span class="keywordflow">return</span> m_flagsBuffer.data;</div>
<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160;}</div>
<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160;</div>
<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>* <a class="code" href="classb2_particle_system.html#a62a222d2e2d55b00fbba7b31d1a70cee">b2ParticleSystem::GetPositionBuffer</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160;    <span class="keywordflow">return</span> m_positionBuffer.data;</div>
<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160;}</div>
<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160;</div>
<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>* <a class="code" href="classb2_particle_system.html#ae3ebd9626709c0bcdee9c3b82fde7da5">b2ParticleSystem::GetVelocityBuffer</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160;    <span class="keywordflow">return</span> m_velocityBuffer.data;</div>
<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160;}</div>
<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160;</div>
<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classb2_particle_color.html">b2ParticleColor</a>* <a class="code" href="classb2_particle_system.html#a108234477f7a4b1e42c43dc001c34b0f">b2ParticleSystem::GetColorBuffer</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160;    <span class="keywordflow">return</span> ((<a class="code" href="classb2_particle_system.html">b2ParticleSystem</a>*) <span class="keyword">this</span>)-&gt;GetColorBuffer();</div>
<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160;}</div>
<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160;</div>
<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* <span class="keyword">const</span>* <a class="code" href="classb2_particle_system.html#a2e72c4fdc0c3572f036650af7e003175">b2ParticleSystem::GetGroupBuffer</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160;    <span class="keywordflow">return</span> m_groupBuffer;</div>
<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160;}</div>
<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160;</div>
<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> float32* <a class="code" href="classb2_particle_system.html#a76d0884b93886fcbb79a2af6f6188b1f">b2ParticleSystem::GetWeightBuffer</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160;    <span class="keywordflow">return</span> m_weightBuffer;</div>
<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;}</div>
<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160;</div>
<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span>* <span class="keyword">const</span>* <a class="code" href="classb2_particle_system.html#af03d38254a2cfd6de142c61bb3ec754b">b2ParticleSystem::GetUserDataBuffer</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160;    <span class="keywordflow">return</span> ((<a class="code" href="classb2_particle_system.html">b2ParticleSystem</a>*) <span class="keyword">this</span>)-&gt;GetUserDataBuffer();</div>
<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160;}</div>
<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;</div>
<div class="line"><a name="l01442"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a2e72c4fdc0c3572f036650af7e003175"> 1442</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classb2_particle_group.html">b2ParticleGroup</a>* <span class="keyword">const</span>* <a class="code" href="classb2_particle_system.html#a2e72c4fdc0c3572f036650af7e003175">b2ParticleSystem::GetGroupBuffer</a>()</div>
<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160;{</div>
<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160;    <span class="keywordflow">return</span> m_groupBuffer;</div>
<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160;}</div>
<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160;</div>
<div class="line"><a name="l01447"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a47a5996f79a3bdda076255eab4befe90"> 1447</a></span>&#160;<span class="keyword">inline</span> uint32 <a class="code" href="classb2_particle_system.html#a47a5996f79a3bdda076255eab4befe90">b2ParticleSystem::GetParticleFlags</a>(int32 index)</div>
<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160;{</div>
<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classb2_particle_system.html#a3120a5e10bef3dd694f20d0a08c931a8">GetFlagsBuffer</a>()[index];</div>
<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>&#160;}</div>
<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160;</div>
<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> b2ParticleSystem::ValidateParticleIndex(<span class="keyword">const</span> int32 index)<span class="keyword"> const</span></div>
<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160;    <span class="keywordflow">return</span> index &gt;= 0 &amp;&amp; index &lt; <a class="code" href="classb2_particle_system.html#ae44c656c8b56377e11f511d3b080004d">GetParticleCount</a>() &amp;&amp;</div>
<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;        index != <a class="code" href="b2_settings_8h.html#adc056d2ee984ceb388fcd38e257e71b6">b2_invalidParticleIndex</a>;</div>
<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160;}</div>
<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160;</div>
<div class="line"><a name="l01458"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a457ad91b208fafc593962dbd25b17e28"> 1458</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classb2_particle_system.html#a457ad91b208fafc593962dbd25b17e28">b2ParticleSystem::GetDestructionByAge</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160;    <span class="keywordflow">return</span> m_def.<a class="code" href="structb2_particle_system_def.html#a6b68881976d4aada8146175eae4b45f5">destroyByAge</a>;</div>
<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160;}</div>
<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160;</div>
<div class="line"><a name="l01463"></a><span class="lineno"><a class="line" href="classb2_particle_system.html#a77dbe781e66a8e66372c628c209e7735"> 1463</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classb2_particle_system.html#a77dbe781e66a8e66372c628c209e7735">b2ParticleSystem::ParticleApplyLinearImpulse</a>(int32 index,</div>
<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160;                                                         <span class="keyword">const</span> <a class="code" href="structb2_vec2.html">b2Vec2</a>&amp; impulse)</div>
<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160;{</div>
<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160;    <a class="code" href="classb2_particle_system.html#a3d7b55d6ff599bbb1f3f748a4192e85e">ApplyLinearImpulse</a>(index, index + 1, impulse);</div>
<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160;}</div>
<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160;</div>
<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160;</div>
<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160;<span class="comment">// Note: These functions must go in the header so the unit tests will compile</span></div>
<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160;<span class="comment">// them. b2ParticleSystem.cpp does not compile with this #define.</span></div>
<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160;<span class="preprocessor">#if LIQUIDFUN_EXTERNAL_LANGUAGE_API</span></div>
<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> b2ParticleSystem::SetParticleVelocity(int32 index,</div>
<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160;                                                  float32 vx,</div>
<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160;                                                  float32 vy)</div>
<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160;{</div>
<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160;    <a class="code" href="structb2_vec2.html">b2Vec2</a>&amp; v = <a class="code" href="classb2_particle_system.html#ae3ebd9626709c0bcdee9c3b82fde7da5">GetVelocityBuffer</a>()[index];</div>
<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160;    v.x = vx;</div>
<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160;    v.y = vy;</div>
<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160;}</div>
<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160;</div>
<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">float</span> b2ParticleSystem::GetParticlePositionX(int32 index)<span class="keyword"> const</span></div>
<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classb2_particle_system.html#a62a222d2e2d55b00fbba7b31d1a70cee">GetPositionBuffer</a>()[index].x;</div>
<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160;}</div>
<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160;</div>
<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">float</span> b2ParticleSystem::GetParticlePositionY(int32 index)<span class="keyword"> const</span></div>
<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classb2_particle_system.html#a62a222d2e2d55b00fbba7b31d1a70cee">GetPositionBuffer</a>()[index].y;</div>
<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160;}</div>
<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160;</div>
<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> b2ParticleSystem::CopyPositionBuffer(<span class="keywordtype">int</span> startIndex,</div>
<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160;                                                <span class="keywordtype">int</span> numParticles,</div>
<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160;                                                <span class="keywordtype">void</span>* outBuf,</div>
<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160;                                                <span class="keywordtype">int</span> size)<span class="keyword"> const</span></div>
<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160;    <span class="keywordtype">int</span> copySize = numParticles * <span class="keyword">sizeof</span>(<a class="code" href="structb2_vec2.html">b2Vec2</a>);</div>
<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160;    <span class="keywordtype">void</span>* inBufWithOffset = (<span class="keywordtype">void</span>*) (<a class="code" href="classb2_particle_system.html#a62a222d2e2d55b00fbba7b31d1a70cee">GetPositionBuffer</a>() + startIndex);</div>
<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160;    <span class="keywordflow">return</span> CopyBuffer(startIndex, numParticles, inBufWithOffset, outBuf, size,</div>
<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160;                      copySize);</div>
<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160;}</div>
<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160;</div>
<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> b2ParticleSystem::CopyColorBuffer(<span class="keywordtype">int</span> startIndex,</div>
<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160;                                             <span class="keywordtype">int</span> numParticles,</div>
<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160;                                             <span class="keywordtype">void</span>* outBuf,</div>
<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160;                                             <span class="keywordtype">int</span> size)<span class="keyword"> const</span></div>
<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160;    <span class="keywordtype">int</span> copySize = numParticles * <span class="keyword">sizeof</span>(<a class="code" href="classb2_particle_color.html">b2ParticleColor</a>);</div>
<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160;    <span class="keywordtype">void</span>* inBufWithOffset = (<span class="keywordtype">void</span>*) (<a class="code" href="classb2_particle_system.html#a108234477f7a4b1e42c43dc001c34b0f">GetColorBuffer</a>() + startIndex);</div>
<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160;    <span class="keywordflow">return</span> CopyBuffer(startIndex, numParticles, inBufWithOffset, outBuf, size,</div>
<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160;                      copySize);</div>
<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160;}</div>
<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160;</div>
<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> b2ParticleSystem::CopyWeightBuffer(<span class="keywordtype">int</span> startIndex,</div>
<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160;                                              <span class="keywordtype">int</span> numParticles,</div>
<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160;                                              <span class="keywordtype">void</span>* outBuf,</div>
<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160;                                              <span class="keywordtype">int</span> size)<span class="keyword"> const</span></div>
<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160;    <span class="keywordtype">int</span> copySize = numParticles * <span class="keyword">sizeof</span>(float32);</div>
<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160;    <span class="keywordtype">void</span>* inBufWithOffset = (<span class="keywordtype">void</span>*) (<a class="code" href="classb2_particle_system.html#a76d0884b93886fcbb79a2af6f6188b1f">GetWeightBuffer</a>() + startIndex);</div>
<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160;    <span class="keywordflow">return</span> CopyBuffer(startIndex, numParticles, inBufWithOffset, outBuf, size,</div>
<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160;                      copySize);</div>
<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160;}</div>
<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160;</div>
<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> b2ParticleSystem::CopyBuffer(<span class="keywordtype">int</span> startIndex, <span class="keywordtype">int</span> numParticles,</div>
<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160;                                        <span class="keywordtype">void</span>* inBufWithOffset, <span class="keywordtype">void</span>* outBuf,</div>
<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160;                                        <span class="keywordtype">int</span> outBufSize, <span class="keywordtype">int</span> copySize)<span class="keyword"> const</span></div>
<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160;    b2ExceptionType exception = IsBufCopyValid(startIndex, numParticles,</div>
<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;                                               copySize, outBufSize);</div>
<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160;    <span class="keywordflow">if</span> (exception != b2_noExceptions)</div>
<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160;    {</div>
<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160;        <span class="keywordflow">return</span> exception;</div>
<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160;    }</div>
<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160;</div>
<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160;    memcpy(outBuf, inBufWithOffset, copySize);</div>
<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160;    <span class="keywordflow">return</span> b2_noExceptions;</div>
<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160;}</div>
<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160;</div>
<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160;<span class="preprocessor">#endif // LIQUIDFUN_EXTERNAL_LANGUAGE_API</span></div>
<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160;<span class="preprocessor"></span></div>
<div class="ttc" id="structb2_transform_html"><div class="ttname"><a href="structb2_transform.html">b2Transform</a></div><div class="ttdef"><b>Definition:</b> b2Math.h:411</div></div>
<div class="ttc" id="structb2_particle_system_def_html_ae1e7b92c07dd5aae0deefe178679a525"><div class="ttname"><a href="structb2_particle_system_def.html#ae1e7b92c07dd5aae0deefe178679a525">b2ParticleSystemDef::gravityScale</a></div><div class="ttdeci">float32 gravityScale</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:193</div></div>
<div class="ttc" id="classb2_particle_system_html_a6677c0e2cc545f36325153894063d593"><div class="ttname"><a href="classb2_particle_system.html#a6677c0e2cc545f36325153894063d593">b2ParticleSystem::GetExpirationTimeBuffer</a></div><div class="ttdeci">const int32 * GetExpirationTimeBuffer()</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:4274</div></div>
<div class="ttc" id="classb2_particle_system_html_a3067ded6d2c927f239ee7a5d572440f6"><div class="ttname"><a href="classb2_particle_system.html#a3067ded6d2c927f239ee7a5d572440f6">b2ParticleSystem::ExpirationTimeToLifetime</a></div><div class="ttdeci">float32 ExpirationTimeToLifetime(const int32 expirationTime) const </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:4256</div></div>
<div class="ttc" id="b2_particle_8h_html_a73d3b011893cb87452253b1b67a5cf50a6e0c509b4673cf041ead1cdd90b36ec1"><div class="ttname"><a href="b2_particle_8h.html#a73d3b011893cb87452253b1b67a5cf50a6e0c509b4673cf041ead1cdd90b36ec1">b2_barrierParticle</a></div><div class="ttdoc">Prevents other particles from leaking. </div><div class="ttdef"><b>Definition:</b> b2Particle.h:54</div></div>
<div class="ttc" id="classb2_particle_system_html_aba25d65675a3dd022498eb2358ee3504"><div class="ttname"><a href="classb2_particle_system.html#aba25d65675a3dd022498eb2358ee3504">b2ParticleSystem::SetPaused</a></div><div class="ttdeci">void SetPaused(bool paused)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1203</div></div>
<div class="ttc" id="structb2_particle_system_def_html_a834765fa939f2bab3d80b62dbe964858"><div class="ttname"><a href="structb2_particle_system_def.html#a834765fa939f2bab3d80b62dbe964858">b2ParticleSystemDef::radius</a></div><div class="ttdeci">float32 radius</div><div class="ttdoc">Particles behave as circles with this radius. In Box2D units. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:196</div></div>
<div class="ttc" id="structb2_particle_pair_html"><div class="ttname"><a href="structb2_particle_pair.html">b2ParticlePair</a></div><div class="ttdoc">Connection between two particles. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:121</div></div>
<div class="ttc" id="structb2_particle_triad_html_ac0023bb64524104633ddf8ce3e53fe7a"><div class="ttname"><a href="structb2_particle_triad.html#ac0023bb64524104633ddf8ce3e53fe7a">b2ParticleTriad::flags</a></div><div class="ttdeci">uint32 flags</div><div class="ttdoc">The logical sum of the particle flags. See the b2ParticleFlag enum. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:143</div></div>
<div class="ttc" id="classb2_particle_system_html_aea90f19fb0aa9bcbba649529aa6503f0"><div class="ttname"><a href="classb2_particle_system.html#aea90f19fb0aa9bcbba649529aa6503f0">b2ParticleSystem::ApplyForce</a></div><div class="ttdeci">void ApplyForce(int32 firstIndex, int32 lastIndex, const b2Vec2 &amp;force)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:4434</div></div>
<div class="ttc" id="classb2_particle_system_html_a3120a5e10bef3dd694f20d0a08c931a8"><div class="ttname"><a href="classb2_particle_system.html#a3120a5e10bef3dd694f20d0a08c931a8">b2ParticleSystem::GetFlagsBuffer</a></div><div class="ttdeci">const uint32 * GetFlagsBuffer() const </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1407</div></div>
<div class="ttc" id="classb2_particle_system_html_ae3ebd9626709c0bcdee9c3b82fde7da5"><div class="ttname"><a href="classb2_particle_system.html#ae3ebd9626709c0bcdee9c3b82fde7da5">b2ParticleSystem::GetVelocityBuffer</a></div><div class="ttdeci">b2Vec2 * GetVelocityBuffer()</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1376</div></div>
<div class="ttc" id="structb2_particle_system_def_html"><div class="ttname"><a href="structb2_particle_system_def.html">b2ParticleSystemDef</a></div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:153</div></div>
<div class="ttc" id="classb2_particle_system_html_a77dbe781e66a8e66372c628c209e7735"><div class="ttname"><a href="classb2_particle_system.html#a77dbe781e66a8e66372c628c209e7735">b2ParticleSystem::ParticleApplyLinearImpulse</a></div><div class="ttdeci">void ParticleApplyLinearImpulse(int32 index, const b2Vec2 &amp;impulse)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1463</div></div>
<div class="ttc" id="structb2_particle_system_def_html_a72a6a3b7b465d318198ed28bd5fa650e"><div class="ttname"><a href="structb2_particle_system_def.html#a72a6a3b7b465d318198ed28bd5fa650e">b2ParticleSystemDef::repulsiveStrength</a></div><div class="ttdeci">float32 repulsiveStrength</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:237</div></div>
<div class="ttc" id="classb2_particle_system_html_abb661439988e856ba806a12fd31ec354"><div class="ttname"><a href="classb2_particle_system.html#abb661439988e856ba806a12fd31ec354">b2ParticleSystem::GetRadius</a></div><div class="ttdeci">float32 GetRadius() const </div><div class="ttdoc">Get the particle radius. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1331</div></div>
<div class="ttc" id="structb2_particle_system_def_html_a7464b9934b877bf5876d9ed14c022ac4"><div class="ttname"><a href="structb2_particle_system_def.html#a7464b9934b877bf5876d9ed14c022ac4">b2ParticleSystemDef::lifetimeGranularity</a></div><div class="ttdeci">float32 lifetimeGranularity</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:277</div></div>
<div class="ttc" id="classb2_particle_system_html_a5bc512885130a8da6f3afb07187f4039"><div class="ttname"><a href="classb2_particle_system.html#a5bc512885130a8da6f3afb07187f4039">b2ParticleSystem::SetDensity</a></div><div class="ttdeci">void SetDensity(float32 density)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1290</div></div>
<div class="ttc" id="structb2_particle_system_def_html_a50d219d1518370388d593422de43c83f"><div class="ttname"><a href="structb2_particle_system_def.html#a50d219d1518370388d593422de43c83f">b2ParticleSystemDef::density</a></div><div class="ttdeci">float32 density</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:189</div></div>
<div class="ttc" id="classb2_particle_system_html_aa5a120786c332f35916d8a01620c4967"><div class="ttname"><a href="classb2_particle_system.html#aa5a120786c332f35916d8a01620c4967">b2ParticleSystem::GetParticleHandleFromIndex</a></div><div class="ttdeci">const b2ParticleHandle * GetParticleHandleFromIndex(const int32 index)</div><div class="ttdoc">Retrieve a handle to the particle at the specified index. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:748</div></div>
<div class="ttc" id="structb2_particle_group_def_html"><div class="ttname"><a href="structb2_particle_group_def.html">b2ParticleGroupDef</a></div><div class="ttdef"><b>Definition:</b> b2ParticleGroup.h:54</div></div>
<div class="ttc" id="structb2_particle_system_def_html_aefe0175108a238c4364526504d6213d2"><div class="ttname"><a href="structb2_particle_system_def.html#aefe0175108a238c4364526504d6213d2">b2ParticleSystemDef::maxCount</a></div><div class="ttdeci">int32 maxCount</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:202</div></div>
<div class="ttc" id="classb2_particle_system_html_a2f38bf8ff57de2a29d2eb7a7df9c9a4e"><div class="ttname"><a href="classb2_particle_system.html#a2f38bf8ff57de2a29d2eb7a7df9c9a4e">b2ParticleSystem::ComputeCollisionEnergy</a></div><div class="ttdeci">float32 ComputeCollisionEnergy() const </div><div class="ttdoc">Compute the kinetic energy that can be lost by damping force. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:4581</div></div>
<div class="ttc" id="classb2_ray_cast_callback_html"><div class="ttname"><a href="classb2_ray_cast_callback.html">b2RayCastCallback</a></div><div class="ttdef"><b>Definition:</b> b2WorldCallbacks.h:241</div></div>
<div class="ttc" id="structb2_particle_pair_html_a1db1fb4d3815c7bc0337d2649a21bb0f"><div class="ttname"><a href="structb2_particle_pair.html#a1db1fb4d3815c7bc0337d2649a21bb0f">b2ParticlePair::flags</a></div><div class="ttdeci">uint32 flags</div><div class="ttdoc">The logical sum of the particle flags. See the b2ParticleFlag enum. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:127</div></div>
<div class="ttc" id="classb2_particle_system_html_a108234477f7a4b1e42c43dc001c34b0f"><div class="ttname"><a href="classb2_particle_system.html#a108234477f7a4b1e42c43dc001c34b0f">b2ParticleSystem::GetColorBuffer</a></div><div class="ttdeci">b2ParticleColor * GetColorBuffer()</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:558</div></div>
<div class="ttc" id="classb2_particle_system_html_a76d0884b93886fcbb79a2af6f6188b1f"><div class="ttname"><a href="classb2_particle_system.html#a76d0884b93886fcbb79a2af6f6188b1f">b2ParticleSystem::GetWeightBuffer</a></div><div class="ttdeci">float32 * GetWeightBuffer()</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1381</div></div>
<div class="ttc" id="classb2_particle_system_html_a4759f4e8f04494e32051385e72ebd332"><div class="ttname"><a href="classb2_particle_system.html#a4759f4e8f04494e32051385e72ebd332">b2ParticleSystem::RayCast</a></div><div class="ttdeci">void RayCast(b2RayCastCallback *callback, const b2Vec2 &amp;point1, const b2Vec2 &amp;point2) const </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:4527</div></div>
<div class="ttc" id="classb2_particle_system_html_a2d7537d7ddfa1d275dce8ffec23b0a77"><div class="ttname"><a href="classb2_particle_system.html#a2d7537d7ddfa1d275dce8ffec23b0a77">b2ParticleSystem::SetParticleLifetime</a></div><div class="ttdeci">void SetParticleLifetime(const int32 index, const float32 lifetime)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:4220</div></div>
<div class="ttc" id="classb2_particle_system_html_a3841229174ab3bd3a38cf08a7878231a"><div class="ttname"><a href="classb2_particle_system.html#a3841229174ab3bd3a38cf08a7878231a">b2ParticleSystem::GetParticleGroupList</a></div><div class="ttdeci">b2ParticleGroup * GetParticleGroupList()</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1183</div></div>
<div class="ttc" id="classb2_particle_system_html_ab37efd90cf92915b3d072ba4f1496a57"><div class="ttname"><a href="classb2_particle_system.html#ab37efd90cf92915b3d072ba4f1496a57">b2ParticleSystem::GetAllGroupFlags</a></div><div class="ttdeci">uint32 GetAllGroupFlags() const </div><div class="ttdoc">Get all existing particle group flags. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1402</div></div>
<div class="ttc" id="structb2_particle_body_contact_html_ac7610a92a2f9056d2d0a370d8bbb3222"><div class="ttname"><a href="structb2_particle_body_contact.html#ac7610a92a2f9056d2d0a370d8bbb3222">b2ParticleBodyContact::weight</a></div><div class="ttdeci">float32 weight</div><div class="ttdoc">Weight of the contact. A value between 0.0f and 1.0f. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:111</div></div>
<div class="ttc" id="classb2_stack_allocator_html"><div class="ttname"><a href="classb2_stack_allocator.html">b2StackAllocator</a></div><div class="ttdef"><b>Definition:</b> b2StackAllocator.h:37</div></div>
<div class="ttc" id="classb2_slab_allocator_html"><div class="ttname"><a href="classb2_slab_allocator.html">b2SlabAllocator&lt; b2ParticleHandle &gt;</a></div></div>
<div class="ttc" id="classb2_world_html"><div class="ttname"><a href="classb2_world.html">b2World</a></div><div class="ttdef"><b>Definition:</b> b2World.h:44</div></div>
<div class="ttc" id="classb2_particle_system_html"><div class="ttname"><a href="classb2_particle_system.html">b2ParticleSystem</a></div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:281</div></div>
<div class="ttc" id="classb2_contact_filter_html"><div class="ttname"><a href="classb2_contact_filter.html">b2ContactFilter</a></div><div class="ttdef"><b>Definition:</b> b2WorldCallbacks.h:74</div></div>
<div class="ttc" id="structb2_particle_system_def_html_a6246155e61450cfff6aba5182a1bb60c"><div class="ttname"><a href="structb2_particle_system_def.html#a6246155e61450cfff6aba5182a1bb60c">b2ParticleSystemDef::staticPressureIterations</a></div><div class="ttdeci">int32 staticPressureIterations</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:259</div></div>
<div class="ttc" id="structb2_particle_system_def_html_a28132c46831cadcb44eea76dfcf28db8"><div class="ttname"><a href="structb2_particle_system_def.html#a28132c46831cadcb44eea76dfcf28db8">b2ParticleSystemDef::strictContactCheck</a></div><div class="ttdeci">bool strictContactCheck</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:185</div></div>
<div class="ttc" id="classb2_particle_system_html_ae479a020886c1ed270ad17a4ffa2eff5"><div class="ttname"><a href="classb2_particle_system.html#ae479a020886c1ed270ad17a4ffa2eff5">b2ParticleSystem::CreateParticleGroup</a></div><div class="ttdeci">b2ParticleGroup * CreateParticleGroup(const b2ParticleGroupDef &amp;def)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:1043</div></div>
<div class="ttc" id="classb2_particle_system_html_a245e2af2d0f91affbdbb354edd2ec85b"><div class="ttname"><a href="classb2_particle_system.html#a245e2af2d0f91affbdbb354edd2ec85b">b2ParticleSystem::GetStuckCandidateCount</a></div><div class="ttdeci">int32 GetStuckCandidateCount() const </div><div class="ttdoc">Get the number of stuck particle candidates from the last step. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1268</div></div>
<div class="ttc" id="classb2_particle_system_html_af79da05e11294c694c7e1c1a1205f29c"><div class="ttname"><a href="classb2_particle_system.html#af79da05e11294c694c7e1c1a1205f29c">b2ParticleSystem::ComputeAABB</a></div><div class="ttdeci">void ComputeAABB(b2AABB *const aabb) const </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:2336</div></div>
<div class="ttc" id="classb2_contact_listener_html"><div class="ttname"><a href="classb2_contact_listener.html">b2ContactListener</a></div><div class="ttdef"><b>Definition:</b> b2WorldCallbacks.h:128</div></div>
<div class="ttc" id="classb2_growable_buffer_html"><div class="ttname"><a href="classb2_growable_buffer.html">b2GrowableBuffer&lt; b2ParticleContact &gt;</a></div></div>
<div class="ttc" id="classb2_particle_system_html_a47a5996f79a3bdda076255eab4befe90"><div class="ttname"><a href="classb2_particle_system.html#a47a5996f79a3bdda076255eab4befe90">b2ParticleSystem::GetParticleFlags</a></div><div class="ttdeci">uint32 GetParticleFlags(const int32 index)</div><div class="ttdoc">Get flags for a particle. See the b2ParticleFlag enum. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1447</div></div>
<div class="ttc" id="classb2_block_allocator_html"><div class="ttname"><a href="classb2_block_allocator.html">b2BlockAllocator</a></div><div class="ttdef"><b>Definition:</b> b2BlockAllocator.h:36</div></div>
<div class="ttc" id="classb2_particle_system_html_a0b3cd8c88d366608b30bc8ef3c8961be"><div class="ttname"><a href="classb2_particle_system.html#a0b3cd8c88d366608b30bc8ef3c8961be">b2ParticleSystem::GetParticleLifetime</a></div><div class="ttdeci">float32 GetParticleLifetime(const int32 index)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:4266</div></div>
<div class="ttc" id="structb2_particle_pair_html_a3a6433b99b74875e99a75239596dfe10"><div class="ttname"><a href="structb2_particle_pair.html#a3a6433b99b74875e99a75239596dfe10">b2ParticlePair::distance</a></div><div class="ttdeci">float32 distance</div><div class="ttdoc">The initial distance of the particles. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:133</div></div>
<div class="ttc" id="classb2_shape_html"><div class="ttname"><a href="classb2_shape.html">b2Shape</a></div><div class="ttdef"><b>Definition:</b> b2Shape.h:43</div></div>
<div class="ttc" id="classb2_particle_system_html_a036f009bf8d329675061aa0687b06bb7"><div class="ttname"><a href="classb2_particle_system.html#a036f009bf8d329675061aa0687b06bb7">b2ParticleSystem::QueryShapeAABB</a></div><div class="ttdeci">void QueryShapeAABB(b2QueryCallback *callback, const b2Shape &amp;shape, const b2Transform &amp;xf) const </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:4518</div></div>
<div class="ttc" id="structb2_particle_triad_html_ae8fb40da0e3db106d41f9d36fd4019e4"><div class="ttname"><a href="structb2_particle_triad.html#ae8fb40da0e3db106d41f9d36fd4019e4">b2ParticleTriad::pa</a></div><div class="ttdeci">b2Vec2 pa</div><div class="ttdoc">Values used for calculation. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:149</div></div>
<div class="ttc" id="b2_particle_8h_html_a73d3b011893cb87452253b1b67a5cf50aa6a321b2081a9f57b14d8e5ca847d1af"><div class="ttname"><a href="b2_particle_8h.html#a73d3b011893cb87452253b1b67a5cf50aa6a321b2081a9f57b14d8e5ca847d1af">b2_elasticParticle</a></div><div class="ttdoc">With restitution from deformation. </div><div class="ttdef"><b>Definition:</b> b2Particle.h:42</div></div>
<div class="ttc" id="classb2_particle_system_html_ad15615bf6b4391974fb37316d7b78759"><div class="ttname"><a href="classb2_particle_system.html#ad15615bf6b4391974fb37316d7b78759">b2ParticleSystem::GetStrictContactCheck</a></div><div class="ttdeci">bool GetStrictContactCheck() const </div><div class="ttdoc">Get the status of the strict contact check. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1278</div></div>
<div class="ttc" id="structb2_particle_system_def_html_a861295bffd9ad85d613545528d95c375"><div class="ttname"><a href="structb2_particle_system_def.html#a861295bffd9ad85d613545528d95c375">b2ParticleSystemDef::colorMixingStrength</a></div><div class="ttdeci">float32 colorMixingStrength</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:264</div></div>
<div class="ttc" id="structb2_particle_system_def_html_a86138031bd8bf796250997a4dcff8ff4"><div class="ttname"><a href="structb2_particle_system_def.html#a86138031bd8bf796250997a4dcff8ff4">b2ParticleSystemDef::powderStrength</a></div><div class="ttdeci">float32 powderStrength</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:241</div></div>
<div class="ttc" id="classb2_particle_system_html_a457ad91b208fafc593962dbd25b17e28"><div class="ttname"><a href="classb2_particle_system.html#a457ad91b208fafc593962dbd25b17e28">b2ParticleSystem::GetDestructionByAge</a></div><div class="ttdeci">bool GetDestructionByAge() const </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1458</div></div>
<div class="ttc" id="structb2_particle_body_contact_html_a04b16848f35614198ef64fd965ad661c"><div class="ttname"><a href="structb2_particle_body_contact.html#a04b16848f35614198ef64fd965ad661c">b2ParticleBodyContact::index</a></div><div class="ttdeci">int32 index</div><div class="ttdoc">Index of the particle making contact. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:102</div></div>
<div class="ttc" id="classb2_particle_system_html_a711c962a7a2258127a6126eb69a78321"><div class="ttname"><a href="classb2_particle_system.html#a711c962a7a2258127a6126eb69a78321">b2ParticleSystem::SetMaxParticleCount</a></div><div class="ttdeci">void SetMaxParticleCount(int32 count)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1391</div></div>
<div class="ttc" id="classb2_particle_system_html_ac12e63ab8d486a9e48ddf9991959f123"><div class="ttname"><a href="classb2_particle_system.html#ac12e63ab8d486a9e48ddf9991959f123">b2ParticleSystem::ParticleApplyForce</a></div><div class="ttdeci">void ParticleApplyForce(int32 index, const b2Vec2 &amp;force)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:4462</div></div>
<div class="ttc" id="structb2_particle_system_def_html_a497e6bfc2e22867eda10a5c576972184"><div class="ttname"><a href="structb2_particle_system_def.html#a497e6bfc2e22867eda10a5c576972184">b2ParticleSystemDef::staticPressureRelaxation</a></div><div class="ttdeci">float32 staticPressureRelaxation</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:255</div></div>
<div class="ttc" id="struct_find_contact_check_html"><div class="ttname"><a href="struct_find_contact_check.html">FindContactCheck</a></div><div class="ttdef"><b>Definition:</b> b2ParticleAssembly.h:27</div></div>
<div class="ttc" id="structb2_particle_def_html"><div class="ttname"><a href="structb2_particle_def.html">b2ParticleDef</a></div><div class="ttdef"><b>Definition:</b> b2Particle.h:272</div></div>
<div class="ttc" id="structb2_particle_body_contact_html_a2246d4b28a391deedc614eba27adb93a"><div class="ttname"><a href="structb2_particle_body_contact.html#a2246d4b28a391deedc614eba27adb93a">b2ParticleBodyContact::normal</a></div><div class="ttdeci">b2Vec2 normal</div><div class="ttdoc">The normalized direction from the particle to the body. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:114</div></div>
<div class="ttc" id="classb2_particle_color_html"><div class="ttname"><a href="classb2_particle_color.html">b2ParticleColor</a></div><div class="ttdoc">Small color object for each particle. </div><div class="ttdef"><b>Definition:</b> b2Particle.h:81</div></div>
<div class="ttc" id="b2_particle_8h_html_a73d3b011893cb87452253b1b67a5cf50a7f141cd8272306e2b55c356cbf7dfdab"><div class="ttname"><a href="b2_particle_8h.html#a73d3b011893cb87452253b1b67a5cf50a7f141cd8272306e2b55c356cbf7dfdab">b2_powderParticle</a></div><div class="ttdoc">Without isotropic pressure. </div><div class="ttdef"><b>Definition:</b> b2Particle.h:46</div></div>
<div class="ttc" id="classb2_particle_system_html_a0b061d6ac27a1984200868116172cba9"><div class="ttname"><a href="classb2_particle_system.html#a0b061d6ac27a1984200868116172cba9">b2ParticleSystem::SetParticleFlags</a></div><div class="ttdeci">void SetParticleFlags(int32 index, uint32 flags)</div><div class="ttdoc">Set flags for a particle. See the b2ParticleFlag enum. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:4364</div></div>
<div class="ttc" id="struct_find_contact_input_html"><div class="ttname"><a href="struct_find_contact_input.html">FindContactInput</a></div><div class="ttdef"><b>Definition:</b> b2ParticleAssembly.h:33</div></div>
<div class="ttc" id="structb2_particle_pair_html_ac192c2a11a0b084ae4065f269ee92719"><div class="ttname"><a href="structb2_particle_pair.html#ac192c2a11a0b084ae4065f269ee92719">b2ParticlePair::strength</a></div><div class="ttdeci">float32 strength</div><div class="ttdoc">The strength of cohesion among the particles. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:130</div></div>
<div class="ttc" id="structb2_particle_system_def_html_aa781c6422da46547b5194d3f5f710f46"><div class="ttname"><a href="structb2_particle_system_def.html#aa781c6422da46547b5194d3f5f710f46">b2ParticleSystemDef::pressureStrength</a></div><div class="ttdeci">float32 pressureStrength</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:206</div></div>
<div class="ttc" id="classb2_particle_system_html_a2a6a2c2aafcf820e9a769433c8bf9d5e"><div class="ttname"><a href="classb2_particle_system.html#a2a6a2c2aafcf820e9a769433c8bf9d5e">b2ParticleSystem::GetAllParticleFlags</a></div><div class="ttdeci">uint32 GetAllParticleFlags() const </div><div class="ttdoc">Get all existing particle flags. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1397</div></div>
<div class="ttc" id="structb2_particle_system_def_html_af5b833686e2a25848ed04ade040534a5"><div class="ttname"><a href="structb2_particle_system_def.html#af5b833686e2a25848ed04ade040534a5">b2ParticleSystemDef::ejectionStrength</a></div><div class="ttdeci">float32 ejectionStrength</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:245</div></div>
<div class="ttc" id="structb2_particle_body_contact_html_a3eabb32dc6d641bc0a7987afeb5ef5a7"><div class="ttname"><a href="structb2_particle_body_contact.html#a3eabb32dc6d641bc0a7987afeb5ef5a7">b2ParticleBodyContact::fixture</a></div><div class="ttdeci">b2Fixture * fixture</div><div class="ttdoc">The specific fixture making contact. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:108</div></div>
<div class="ttc" id="structb2_particle_body_contact_html_acb31b9545e0b93686393e2980e9e442e"><div class="ttname"><a href="structb2_particle_body_contact.html#acb31b9545e0b93686393e2980e9e442e">b2ParticleBodyContact::mass</a></div><div class="ttdeci">float32 mass</div><div class="ttdoc">The effective mass used in calculating force. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:117</div></div>
<div class="ttc" id="structb2_particle_triad_html"><div class="ttname"><a href="structb2_particle_triad.html">b2ParticleTriad</a></div><div class="ttdoc">Connection between three particles. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:137</div></div>
<div class="ttc" id="classb2_particle_system_html_a2ba19aadac45d5ede0f4f88438cf7bba"><div class="ttname"><a href="classb2_particle_system.html#a2ba19aadac45d5ede0f4f88438cf7bba">b2ParticleSystem::GetStuckCandidates</a></div><div class="ttdeci">const int32 * GetStuckCandidates() const </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1263</div></div>
<div class="ttc" id="classb2_particle_system_html_af6b8d78e5fe2ee1d26d8ec715647a71c"><div class="ttname"><a href="classb2_particle_system.html#af6b8d78e5fe2ee1d26d8ec715647a71c">b2ParticleSystem::SetDamping</a></div><div class="ttdeci">void SetDamping(float32 damping)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1311</div></div>
<div class="ttc" id="classb2_particle_system_html_ae44c656c8b56377e11f511d3b080004d"><div class="ttname"><a href="classb2_particle_system.html#ae44c656c8b56377e11f511d3b080004d">b2ParticleSystem::GetParticleCount</a></div><div class="ttdeci">int32 GetParticleCount() const </div><div class="ttdoc">Get the number of particles. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1198</div></div>
<div class="ttc" id="classb2_particle_system_html_af03d38254a2cfd6de142c61bb3ec754b"><div class="ttname"><a href="classb2_particle_system.html#af03d38254a2cfd6de142c61bb3ec754b">b2ParticleSystem::GetUserDataBuffer</a></div><div class="ttdeci">void ** GetUserDataBuffer()</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:564</div></div>
<div class="ttc" id="b2_particle_8h_html_a73d3b011893cb87452253b1b67a5cf50a38a4e586f06042db862403df1682e280"><div class="ttname"><a href="b2_particle_8h.html#a73d3b011893cb87452253b1b67a5cf50a38a4e586f06042db862403df1682e280">b2_tensileParticle</a></div><div class="ttdoc">With surface tension. </div><div class="ttdef"><b>Definition:</b> b2Particle.h:48</div></div>
<div class="ttc" id="classb2_particle_group_html"><div class="ttname"><a href="classb2_particle_group.html">b2ParticleGroup</a></div><div class="ttdoc">A group of particles. b2ParticleGroup::CreateParticleGroup creates these. </div><div class="ttdef"><b>Definition:</b> b2ParticleGroup.h:172</div></div>
<div class="ttc" id="structb2_particle_system_def_html_a1fb1cbdcbc28e68e5b6497f08a671189"><div class="ttname"><a href="structb2_particle_system_def.html#a1fb1cbdcbc28e68e5b6497f08a671189">b2ParticleSystemDef::dampingStrength</a></div><div class="ttdeci">float32 dampingStrength</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:210</div></div>
<div class="ttc" id="structb2_a_a_b_b_html"><div class="ttname"><a href="structb2_a_a_b_b.html">b2AABB</a></div><div class="ttdoc">An axis aligned bounding box. </div><div class="ttdef"><b>Definition:</b> b2Collision.h:162</div></div>
<div class="ttc" id="classb2_particle_system_html_a36ef6f6f0eef789e1dee767901030631"><div class="ttname"><a href="classb2_particle_system.html#a36ef6f6f0eef789e1dee767901030631">b2ParticleSystem::DestroyParticlesInShape</a></div><div class="ttdeci">int32 DestroyParticlesInShape(const b2Shape &amp;shape, const b2Transform &amp;xf)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:331</div></div>
<div class="ttc" id="classb2_particle_system_html_a40cb56e0a7aba2ffca3d0ed83aea6e5b"><div class="ttname"><a href="classb2_particle_system.html#a40cb56e0a7aba2ffca3d0ed83aea6e5b">b2ParticleSystem::SetFlagsBuffer</a></div><div class="ttdeci">void SetFlagsBuffer(uint32 *buffer, int32 capacity)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:4336</div></div>
<div class="ttc" id="classb2_particle_system_html_a700dca2105c24c9eafcb334b1843d9c9"><div class="ttname"><a href="classb2_particle_system.html#a700dca2105c24c9eafcb334b1843d9c9">b2ParticleSystem::GetGravityScale</a></div><div class="ttdeci">float32 GetGravityScale() const </div><div class="ttdoc">Get the particle gravity scale. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1306</div></div>
<div class="ttc" id="classb2_particle_system_html_a4cf2f65d6df63a29a9cdf6f4078202b5"><div class="ttname"><a href="classb2_particle_system.html#a4cf2f65d6df63a29a9cdf6f4078202b5">b2ParticleSystem::GetBodyContacts</a></div><div class="ttdeci">const b2ParticleBodyContact * GetBodyContacts() const </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1223</div></div>
<div class="ttc" id="structb2_time_step_html"><div class="ttname"><a href="structb2_time_step.html">b2TimeStep</a></div><div class="ttdoc">This is an internal structure. </div><div class="ttdef"><b>Definition:</b> b2TimeStep.h:39</div></div>
<div class="ttc" id="classb2_particle_system_html_a62a222d2e2d55b00fbba7b31d1a70cee"><div class="ttname"><a href="classb2_particle_system.html#a62a222d2e2d55b00fbba7b31d1a70cee">b2ParticleSystem::GetPositionBuffer</a></div><div class="ttdeci">b2Vec2 * GetPositionBuffer()</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1371</div></div>
<div class="ttc" id="b2_particle_8h_html_a73d3b011893cb87452253b1b67a5cf50a189a78e47cb348efe3d4f2913841fc5e"><div class="ttname"><a href="b2_particle_8h.html#a73d3b011893cb87452253b1b67a5cf50a189a78e47cb348efe3d4f2913841fc5e">b2_staticPressureParticle</a></div><div class="ttdoc">Less compressibility. </div><div class="ttdef"><b>Definition:</b> b2Particle.h:56</div></div>
<div class="ttc" id="classb2_particle_system_html_a2781f3c5e57afb0ece5497329c9fbbb8"><div class="ttname"><a href="classb2_particle_system.html#a2781f3c5e57afb0ece5497329c9fbbb8">b2ParticleSystem::GetParticleGroupCount</a></div><div class="ttdeci">int32 GetParticleGroupCount() const </div><div class="ttdoc">Get the number of particle groups. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1193</div></div>
<div class="ttc" id="structb2_particle_system_def_html_a4cef0e4d7844b8739e749672f77ed30d"><div class="ttname"><a href="structb2_particle_system_def.html#a4cef0e4d7844b8739e749672f77ed30d">b2ParticleSystemDef::viscousStrength</a></div><div class="ttdeci">float32 viscousStrength</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:222</div></div>
<div class="ttc" id="classb2_particle_system_html_a50edb8ad685977747d19e0dfb0bdff6c"><div class="ttname"><a href="classb2_particle_system.html#a50edb8ad685977747d19e0dfb0bdff6c">b2ParticleSystem::GetMaxParticleCount</a></div><div class="ttdeci">int32 GetMaxParticleCount() const </div><div class="ttdoc">Get the maximum number of particles. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1386</div></div>
<div class="ttc" id="structb2_particle_system_def_html_a6b68881976d4aada8146175eae4b45f5"><div class="ttname"><a href="structb2_particle_system_def.html#a6b68881976d4aada8146175eae4b45f5">b2ParticleSystemDef::destroyByAge</a></div><div class="ttdeci">bool destroyByAge</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:269</div></div>
<div class="ttc" id="classb2_particle_system_html_a783c71ce5a5ee3ef3a726ba2e538117a"><div class="ttname"><a href="classb2_particle_system.html#a783c71ce5a5ee3ef3a726ba2e538117a">b2ParticleSystem::DestroyOldestParticle</a></div><div class="ttdeci">void DestroyOldestParticle(const int32 index, const bool callDestructionListener)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:779</div></div>
<div class="ttc" id="structb2_particle_body_contact_html"><div class="ttname"><a href="structb2_particle_body_contact.html">b2ParticleBodyContact</a></div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:99</div></div>
<div class="ttc" id="classb2_particle_system_html_a1a454fc53ce4a63a0cb45b6c7c810d2f"><div class="ttname"><a href="classb2_particle_system.html#a1a454fc53ce4a63a0cb45b6c7c810d2f">b2ParticleSystem::SetRadius</a></div><div class="ttdeci">void SetRadius(float32 radius)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1283</div></div>
<div class="ttc" id="classb2_particle_system_html_abc997fd34ca5a9b24d04d9d06b292d12"><div class="ttname"><a href="classb2_particle_system.html#abc997fd34ca5a9b24d04d9d06b292d12">b2ParticleSystem::GetStaticPressureIterations</a></div><div class="ttdeci">int32 GetStaticPressureIterations() const </div><div class="ttdoc">Get the number of iterations for static pressure of particles. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1326</div></div>
<div class="ttc" id="classb2_particle_system_html_afbba5223e5f1f342d976c217983b42ec"><div class="ttname"><a href="classb2_particle_system.html#afbba5223e5f1f342d976c217983b42ec">b2ParticleSystem::GetTriads</a></div><div class="ttdeci">const b2ParticleTriad * GetTriads() const </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1243</div></div>
<div class="ttc" id="b2_settings_8h_html_a67092aba35939215cea0213618591031"><div class="ttname"><a href="b2_settings_8h.html#a67092aba35939215cea0213618591031">b2_particleStride</a></div><div class="ttdeci">#define b2_particleStride</div><div class="ttdoc">The default distance between particles, multiplied by the particle diameter. </div><div class="ttdef"><b>Definition:</b> b2Settings.h:177</div></div>
<div class="ttc" id="classb2_body_html"><div class="ttname"><a href="classb2_body.html">b2Body</a></div><div class="ttdoc">A rigid body. These are created via b2World::CreateBody. </div><div class="ttdef"><b>Definition:</b> b2Body.h:132</div></div>
<div class="ttc" id="structb2_particle_pair_html_afa5a36eb644ea796f5e7d68571e37c6a"><div class="ttname"><a href="structb2_particle_pair.html#afa5a36eb644ea796f5e7d68571e37c6a">b2ParticlePair::indexA</a></div><div class="ttdeci">int32 indexA</div><div class="ttdoc">Indices of the respective particles making pair. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:124</div></div>
<div class="ttc" id="classb2_particle_system_html_ab16f4e9f7a1c122327de1f06c03d36ce"><div class="ttname"><a href="classb2_particle_system.html#ab16f4e9f7a1c122327de1f06c03d36ce">b2ParticleSystem::GetPaused</a></div><div class="ttdeci">bool GetPaused() const </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1208</div></div>
<div class="ttc" id="classb2_particle_system_html_aa7a7789b70bff96d98a53c10e47d3d98"><div class="ttname"><a href="classb2_particle_system.html#aa7a7789b70bff96d98a53c10e47d3d98">b2ParticleSystem::SetStaticPressureIterations</a></div><div class="ttdeci">void SetStaticPressureIterations(int32 iterations)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1321</div></div>
<div class="ttc" id="structb2_particle_system_def_html_a05d5a189606457a9a6d89dc478a4fb90"><div class="ttname"><a href="structb2_particle_system_def.html#a05d5a189606457a9a6d89dc478a4fb90">b2ParticleSystemDef::surfaceTensionNormalStrength</a></div><div class="ttdeci">float32 surfaceTensionNormalStrength</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:231</div></div>
<div class="ttc" id="classb2_particle_system_html_a0400ae753ca56deef6f8b2dfe2ab5fb2"><div class="ttname"><a href="classb2_particle_system.html#a0400ae753ca56deef6f8b2dfe2ab5fb2">b2ParticleSystem::SetDestructionByAge</a></div><div class="ttdeci">void SetDestructionByAge(const bool enable)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:4301</div></div>
<div class="ttc" id="b2_particle_8h_html_a73d3b011893cb87452253b1b67a5cf50a5ee88bc4df5166f3d4caac0b7316d2f6"><div class="ttname"><a href="b2_particle_8h.html#a73d3b011893cb87452253b1b67a5cf50a5ee88bc4df5166f3d4caac0b7316d2f6">b2_springParticle</a></div><div class="ttdoc">With restitution from stretching. </div><div class="ttdef"><b>Definition:</b> b2Particle.h:40</div></div>
<div class="ttc" id="classb2_particle_system_html_a459db1f697d93724b0a065c029184c9b"><div class="ttname"><a href="classb2_particle_system.html#a459db1f697d93724b0a065c029184c9b">b2ParticleSystem::SetStuckThreshold</a></div><div class="ttdeci">void SetStuckThreshold(int32 iterations)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:4600</div></div>
<div class="ttc" id="structb2_particle_system_def_html_add3df1894038540a311081740dc3e5cb"><div class="ttname"><a href="structb2_particle_system_def.html#add3df1894038540a311081740dc3e5cb">b2ParticleSystemDef::staticPressureStrength</a></div><div class="ttdeci">float32 staticPressureStrength</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:251</div></div>
<div class="ttc" id="b2_particle_8h_html"><div class="ttname"><a href="b2_particle_8h.html">b2Particle.h</a></div></div>
<div class="ttc" id="classb2_particle_system_html_a2e72c4fdc0c3572f036650af7e003175"><div class="ttname"><a href="classb2_particle_system.html#a2e72c4fdc0c3572f036650af7e003175">b2ParticleSystem::GetGroupBuffer</a></div><div class="ttdeci">b2ParticleGroup *const * GetGroupBuffer()</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1442</div></div>
<div class="ttc" id="structb2_particle_body_contact_html_a50e13d10f37cfc200015caeabc130e38"><div class="ttname"><a href="structb2_particle_body_contact.html#a50e13d10f37cfc200015caeabc130e38">b2ParticleBodyContact::body</a></div><div class="ttdeci">b2Body * body</div><div class="ttdoc">The body making contact. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:105</div></div>
<div class="ttc" id="classb2_particle_system_html_a9a52c227fcd0e7bb0346d748f0df0750"><div class="ttname"><a href="classb2_particle_system.html#a9a52c227fcd0e7bb0346d748f0df0750">b2ParticleSystem::CreateParticle</a></div><div class="ttdeci">int32 CreateParticle(const b2ParticleDef &amp;def)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:637</div></div>
<div class="ttc" id="structb2_particle_system_def_html_a935a135684efab860b98a9b6a629d6d6"><div class="ttname"><a href="structb2_particle_system_def.html#a935a135684efab860b98a9b6a629d6d6">b2ParticleSystemDef::springStrength</a></div><div class="ttdeci">float32 springStrength</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:218</div></div>
<div class="ttc" id="structb2_particle_contact_html"><div class="ttname"><a href="structb2_particle_contact.html">b2ParticleContact</a></div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:53</div></div>
<div class="ttc" id="structb2_vec2_html"><div class="ttname"><a href="structb2_vec2.html">b2Vec2</a></div><div class="ttdoc">A 2D column vector. </div><div class="ttdef"><b>Definition:</b> b2Math.h:56</div></div>
<div class="ttc" id="classb2_particle_system_html_ab769e15337167412903ad0f45db480e5"><div class="ttname"><a href="classb2_particle_system.html#ab769e15337167412903ad0f45db480e5">b2ParticleSystem::JoinParticleGroups</a></div><div class="ttdeci">void JoinParticleGroups(b2ParticleGroup *groupA, b2ParticleGroup *groupB)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:1111</div></div>
<div class="ttc" id="classb2_particle_system_html_a5ad89863a13e4735cc7201a7d6c2ca5b"><div class="ttname"><a href="classb2_particle_system.html#a5ad89863a13e4735cc7201a7d6c2ca5b">b2ParticleSystem::SplitParticleGroup</a></div><div class="ttdeci">void SplitParticleGroup(b2ParticleGroup *group)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:1163</div></div>
<div class="ttc" id="b2_settings_8h_html_adc056d2ee984ceb388fcd38e257e71b6"><div class="ttname"><a href="b2_settings_8h.html#adc056d2ee984ceb388fcd38e257e71b6">b2_invalidParticleIndex</a></div><div class="ttdeci">#define b2_invalidParticleIndex</div><div class="ttdoc">NEON SIMD requires 16-bit particle indices. </div><div class="ttdef"><b>Definition:</b> b2Settings.h:168</div></div>
<div class="ttc" id="structb2_particle_triad_html_a8ee50fab85d8895df09a51733a49c60a"><div class="ttname"><a href="structb2_particle_triad.html#a8ee50fab85d8895df09a51733a49c60a">b2ParticleTriad::indexA</a></div><div class="ttdeci">int32 indexA</div><div class="ttdoc">Indices of the respective particles making triad. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:140</div></div>
<div class="ttc" id="classb2_particle_system_html_a3d7b55d6ff599bbb1f3f748a4192e85e"><div class="ttname"><a href="classb2_particle_system.html#a3d7b55d6ff599bbb1f3f748a4192e85e">b2ParticleSystem::ApplyLinearImpulse</a></div><div class="ttdeci">void ApplyLinearImpulse(int32 firstIndex, int32 lastIndex, const b2Vec2 &amp;impulse)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:4472</div></div>
<div class="ttc" id="structb2_particle_triad_html_a3923a6548d78c52341b0f5e9555194c1"><div class="ttname"><a href="structb2_particle_triad.html#a3923a6548d78c52341b0f5e9555194c1">b2ParticleTriad::strength</a></div><div class="ttdeci">float32 strength</div><div class="ttdoc">The strength of cohesion among the particles. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:146</div></div>
<div class="ttc" id="structb2_particle_system_def_html_a892b1069f95f9cb45b482a223542add5"><div class="ttname"><a href="structb2_particle_system_def.html#a892b1069f95f9cb45b482a223542add5">b2ParticleSystemDef::surfaceTensionPressureStrength</a></div><div class="ttdeci">float32 surfaceTensionPressureStrength</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:226</div></div>
<div class="ttc" id="classb2_particle_system_html_a0470d83e3e3c32cdd8f9126261871f3a"><div class="ttname"><a href="classb2_particle_system.html#a0470d83e3e3c32cdd8f9126261871f3a">b2ParticleSystem::GetDamping</a></div><div class="ttdeci">float32 GetDamping() const </div><div class="ttdoc">Get damping for particles. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1316</div></div>
<div class="ttc" id="classb2_particle_system_html_abc1154cdf13d7fc82289e23b44c66041"><div class="ttname"><a href="classb2_particle_system.html#abc1154cdf13d7fc82289e23b44c66041">b2ParticleSystem::GetPairs</a></div><div class="ttdeci">const b2ParticlePair * GetPairs() const </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1233</div></div>
<div class="ttc" id="structb2_particle_system_def_html_af7e3b59193dc11f202e495ee20ea79a4"><div class="ttname"><a href="structb2_particle_system_def.html#af7e3b59193dc11f202e495ee20ea79a4">b2ParticleSystemDef::elasticStrength</a></div><div class="ttdeci">float32 elasticStrength</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:214</div></div>
<div class="ttc" id="classb2_particle_system_html_a018c783fdb7d666824d9a7f7a4c1e92c"><div class="ttname"><a href="classb2_particle_system.html#a018c783fdb7d666824d9a7f7a4c1e92c">b2ParticleSystem::GetDensity</a></div><div class="ttdeci">float32 GetDensity() const </div><div class="ttdoc">Get the particle density. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1296</div></div>
<div class="ttc" id="classb2_query_callback_html"><div class="ttname"><a href="classb2_query_callback.html">b2QueryCallback</a></div><div class="ttdef"><b>Definition:</b> b2WorldCallbacks.h:208</div></div>
<div class="ttc" id="classb2_particle_system_html_aa1e295b8e9f96f1b91e362d114d4e7f3"><div class="ttname"><a href="classb2_particle_system.html#aa1e295b8e9f96f1b91e362d114d4e7f3">b2ParticleSystem::SetStrictContactCheck</a></div><div class="ttdeci">void SetStrictContactCheck(bool enabled)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1273</div></div>
<div class="ttc" id="classb2_particle_system_html_a74c0d2611c61375dbcd8cd7b79fb362a"><div class="ttname"><a href="classb2_particle_system.html#a74c0d2611c61375dbcd8cd7b79fb362a">b2ParticleSystem::GetNext</a></div><div class="ttdeci">b2ParticleSystem * GetNext()</div><div class="ttdoc">Get the next particle-system in the world&#39;s particle-system list. </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1253</div></div>
<div class="ttc" id="classb2_particle_system_html_a20d1f9ecb7fcbc287de9b4816dae44e1"><div class="ttname"><a href="classb2_particle_system.html#a20d1f9ecb7fcbc287de9b4816dae44e1">b2ParticleSystem::DestroyParticle</a></div><div class="ttdeci">void DestroyParticle(int32 index)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:300</div></div>
<div class="ttc" id="classb2_particle_system_html_af31818150a338125c9f84c9ae9003196"><div class="ttname"><a href="classb2_particle_system.html#af31818150a338125c9f84c9ae9003196">b2ParticleSystem::QueryAABB</a></div><div class="ttdeci">void QueryAABB(b2QueryCallback *callback, const b2AABB &amp;aabb) const </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:4484</div></div>
<div class="ttc" id="classb2_particle_system_html_ac9adc09838699133eb3c3a9ff29fa133"><div class="ttname"><a href="classb2_particle_system.html#ac9adc09838699133eb3c3a9ff29fa133">b2ParticleSystem::GetContacts</a></div><div class="ttdeci">const b2ParticleContact * GetContacts() const </div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1213</div></div>
<div class="ttc" id="classb2_particle_system_html_a868f8baa3a652b0f252f1de4218d75a6"><div class="ttname"><a href="classb2_particle_system.html#a868f8baa3a652b0f252f1de4218d75a6">b2ParticleSystem::GetIndexByExpirationTimeBuffer</a></div><div class="ttdeci">const int32 * GetIndexByExpirationTimeBuffer()</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.cpp:4286</div></div>
<div class="ttc" id="classb2_particle_handle_html"><div class="ttname"><a href="classb2_particle_handle.html">b2ParticleHandle</a></div><div class="ttdef"><b>Definition:</b> b2Particle.h:330</div></div>
<div class="ttc" id="classb2_particle_system_html_a6727500d6d140da6f372c18a482a25e9"><div class="ttname"><a href="classb2_particle_system.html#a6727500d6d140da6f372c18a482a25e9">b2ParticleSystem::SetGravityScale</a></div><div class="ttdeci">void SetGravityScale(float32 gravityScale)</div><div class="ttdef"><b>Definition:</b> b2ParticleSystem.h:1301</div></div>
<div class="ttc" id="classb2_fixture_html"><div class="ttname"><a href="classb2_fixture.html">b2Fixture</a></div><div class="ttdef"><b>Definition:</b> b2Fixture.h:108</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-46159502-1', 'auto');
ga('create', 'UA-49880327-7', 'auto', {'name': 'liquidFunTracker'});
ga('send', 'pageview');
ga('liquidFunTracker.send', 'pageview');
</script>
</body>
</html>
